Junior
Bir ədədi saxlamaq üçün neçə bayt lazımdır?
sobes.tech Süni İntellekt
AI-dan cavab
Go'da bir sayının yaddaş ölçüsü onun növündən asılıdır.
| Növü | Ölçüsü (bayt) | Dəyər aralığı |
|---|---|---|
int |
Arxitekturaya bağlıdır (32 və ya 64 bit) | Arxitekturaya bağlıdır |
uint |
Arxitekturaya bağlıdır (32 və ya 64 bit) | Arxitekturaya bağlıdır |
int8 |
1 | -128-dən 127-ə qədər |
uint8 |
1 | 0-dan 255-ə qədər |
int16 |
2 | -32768-dən 32767-ə qədər |
uint16 |
2 | 0-dan 65535-ə qədər |
int32 |
4 | -2147483648-dən 2147483647-ə qədər |
uint32 |
4 | 0-dan 4294967295-ə qədər |
int64 |
8 | -9223372036854775808-dən 9223372036854775807-ə qədər |
uint64 |
8 | 0-dan 18446744073709551615-ə qədər |
float32 |
4 | Təqribən ±3.4e38 |
float64 |
8 | Təqribən ±1.8e308 |
complex64 |
8 | İki float32 dəyəri (reallıq və təsəvvür hissələri) |
complex128 |
16 | İki float64 dəyəri (reallıq və təsəvvür hissələri) |
byte |
1 | uint8 üçün sinonim |
rune |
4 | int32 üçün sinonim (Unicode kod nöqtəsi) |
Müəyyən bir platformada növün ölçüsünü müəyyən etmək üçün nümunə:
import (
"fmt"
"unsafe"
)
func main() {
// `int` və `uint` ölçüsü prosessor arxitekturasına bağlıdır
fmt.Printf("`int` ölçüsü: %d bayt\n", unsafe.Sizeof(int(0)))
fmt.Printf("`uint` ölçüsü: %d bayt\n", unsafe.Sizeof(uint(0)))
// Sabit növlərin ölçüsü dəyişməzdir
fmt.Printf("`int8` ölçüsü: %d bayt\n", unsafe.Sizeof(int8(0)))
fmt.Printf("`float64` ölçüsü: %d bayt\n", unsafe.Sizeof(float64(0)))
}