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