Junior
Cik baiti nepieciešami skaitļa glabāšanai?
sobes.tech AI
Atbilde no AI
Skaitļa glabāšanas izmērs Go ir atkarīgs no tā veida.
| Datu tips | Izmērs (baiti) | Vērtību diapazons |
|---|---|---|
int |
Atkarīgs no arhitektūras (32 vai 64 biti) | Atkarīgs no arhitektūras |
uint |
Atkarīgs no arhitektūras (32 vai 64 biti) | Atkarīgs no arhitektūras |
int8 |
1 | -128 līdz 127 |
uint8 |
1 | 0 līdz 255 |
int16 |
2 | -32768 līdz 32767 |
uint16 |
2 | 0 līdz 65535 |
int32 |
4 | -2147483648 līdz 2147483647 |
uint32 |
4 | 0 līdz 4294967295 |
int64 |
8 | -9223372036854775808 līdz 9223372036854775807 |
uint64 |
8 | 0 līdz 18446744073709551615 |
float32 |
4 | Apmēram ±3.4e38 |
float64 |
8 | Apmēram ±1.8e308 |
complex64 |
8 | Divas float32 vērtības (reālais un iedomātais daļas) |
complex128 |
16 | Divas float64 vērtības (reālais un iedomātais daļas) |
byte |
1 | Sinonīms uint8 |
rune |
4 | Sinonīms int32 (Unicode koda punkts) |
Piemērs, kā noteikt tipa izmēru konkrētā platformā:
import (
"fmt"
"unsafe"
)
func main() {
// `int` un `uint` izmērs ir atkarīgs no procesora arhitektūras
fmt.Printf("`int` izmērs: %d baiti\n", unsafe.Sizeof(int(0)))
fmt.Printf("`uint` izmērs: %d baiti\n", unsafe.Sizeof(uint(0)))
// Fiksēto tipu izmēri ir konstanti
fmt.Printf("`int8` izmērs: %d baiti\n", unsafe.Sizeof(int8(0)))
fmt.Printf("`float64` izmērs: %d baiti\n", unsafe.Sizeof(float64(0)))
}