基本在所有的golang教程中介绍基本数据类型中的数字类型时都会列出下面这张表来说明值范围:
类型 | 符号 | 长度范围 |
---|---|---|
uint8 | 无符号 | 8位整型 (0 到 255) |
uint16 | 无符号 | 16位整型 (0 到 65535) |
uint32 | 无符号 | 32位整型 (0 到 4294967295) |
uint64 | 无符号 | 64位整型 (0 到 18446744073709551615) |
int8 | 有符号 | 8位整型 (-128 到 127) |
int16 | 有符号 | 16位整型 (-32768 到 32767) |
int32 | 有符号 | 32位整型 (-2147483648 到 2147483647) |
int64 | 有符号 | 64位整型 (-9223372036854775808 到 9223372036854775807) |
上图中的值范围是不是看着特别眼熟?如果加一列和mysql中的数值类型对比下就很好记忆了:
类型 | 对应mysql中的数值类型 | 符号 | 长度范围 |
---|---|---|---|
uint8 | tinyint | 无符号 | 8位整型 (0 到 255) |
uint16 | smallint | 无符号 | 16位整型 (0 到 65535) |
uint32 | int | 无符号 | 32位整型 (0 到 4294967295) |
uint64 | bigint | 无符号 | 64位整型 (0 到 18446744073709551615) |
int8 | tinyint | 有符号 | 8位整型 (-128 到 127) |
int16 | smallint | 有符号 | 16位整型 (-32768 到 32767) |
int32 | int | 有符号 | 32位整型 (-2147483648 到 2147483647) |
int64 | bigint | 有符号 | 64位整型 (-9223372036854775808 到 9223372036854775807) |