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