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)))
}