Sobes.tech
Junior

Քանի բայթ է պահանջվում թիվը պահելու համար?

sobes.tech AI

Պատասխան AI-ից

Համարների պահպանումը Go-ում կախված է նրա տիպից:

Տվյալների տեսակ չափը (բայթ) արժեքների տիրույթը
int կախված է ճարտարապետությունից (32 կամ 64 բիթ) կախված է ճարտարապետությունից
uint կախված է ճարտարապետությունից (32 կամ 64 բիթ) կախված է ճարտարապետությունից
int8 1 -128-ից մինչև 127
uint8 1 0-ից մինչև 255
int16 2 -32768-ից մինչև 32767
uint16 2 0-ից մինչև 65535
int32 4 -2147483648-ից մինչև 2147483647
uint32 4 0-ից մինչև 4294967295
int64 8 -9223372036854775808-ից մինչև 9223372036854775807
uint64 8 0-ից մինչև 18446744073709551615
float32 4 մոտավորապես ±3.4e38
float64 8 մոտավորապես ±1.8e308
complex64 8 երկու float32 արժեք (իրական և գծային մասեր)
complex128 16 երկու float64 արժեք (իրական և գծային մասեր)
byte 1 սինոնիմ uint8 համար
rune 4 սինոնիմ int32 (Unicode կոդային կետ)

Օրինակ՝ որոշելու տիպի չափը կոնկրետ հարթակում՝

import (
	"fmt"
	"unsafe"
)

func main() {
	// `int` և `uint` չափը կախված է պրոցեսորի ճարտարապետությունից
	fmt.Printf("int-ի չափը՝ %d բայթ\n", unsafe.Sizeof(int(0)))
	fmt.Printf("uint-ի չափը՝ %d բայթ\n", unsafe.Sizeof(uint(0)))

	// կայուն տիպերի չափերը մշտական են
	fmt.Printf("int8-ի չափը՝ %d բայթ\n", unsafe.Sizeof(int8(0)))
	fmt.Printf("float64-ի չափը՝ %d բայթ\n", unsafe.Sizeof(float64(0)))
}