go 的数据类型增加了无符号类型和类型别名,比java的更精细、更复杂。注意:go的byte与java的byte范围是不同的,前者无符号后者有符号。
go基本数据类型 | 对应的java类型 | 说明 |
byte | - | 等同于uint8 |
int | int or long | 32位或64位取决于平台 |
int8 | byte | - 2^7 到 2^7-1 |
int16 | short | -2^15 到 2^15 -1 |
int32 | int | -2^31 到 2^31 -1 |
int64 | long | |
rune | - | 等同于int32 , 为什么不是 uint32 |
uint | - | 32位或64位取决于平台 |
uint8 | - | 0 到 2^8 - 1 等同于 byte |
uint16 | char | 0 到 2^16 - 1 |
uint32 | - | 0 到 2^32 - 1 等同于 rune |
float32 | float | |
float64 | double | |
bool | boolean | |
string | String | |
[]T | List<T> | |
map[K]V | Map<K.V> |