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