基本数据类型
在 Z1h 编程语言中, 数据类型用于声明函数和变量.
数据类型的出现是为了把数据分成所需内存大小不同的数据, 编程的时候需要用大数据的时候才需要申请大内存, 就可以充分利用内存.
Z1h 语言按类别有以下几种数据类型:
类型 | 说明 | 例子 |
---|---|---|
布尔型 | 只可以是常量 true 或者 false | isZ1hGood = true |
数字类型 | 整型int、浮点型float64等 | age = 1; pi = 3.1415 |
字符串类型 | 一串固定长度的字符连接起来的字符序列,使用utf-8编码标识Unicode文本 | name = 'Z1h' |
派生类型 | 包括指针、数组、结构体、函数、Map等类型 | obj = {name: 'Somebody', hi: e=>{print('Hello ' + this.name)}} |
数字类型
整型
类型 | 描述 | 最小值 | 最大值 |
---|---|---|---|
uint8/byte | 无符号8位整型 | 0 | 255 |
uint16 | 无符号16位整型 | 0 | 65535 |
uint32 | 无符号32位整型 | 0 | 4294967295 |
uint64 | 无符号64位整型 | 0 | 18446744073709551615 |
int8 | 有符号8位整型 | -128 | 127 |
int16 | 有符号16位整型 | -3276 | 32767 |
int32/rune | 有符号32位整型 | -2147483648 | 2147483647 |
int64 | 有符号64位整型 | -9223372036854775808 | 9223372036854775807 |
更大数字请使用math_big
标准库的方法
浮点型
类型 | 描述 |
---|---|
float32 | IEEE-754 32位浮点型数 |
float64 | IEEE-754 64位浮点型数 |
复数类型
类型 | 描述 |
---|---|
complex128 | 由64位实部和虚部组成的复数 |
complex64 | 由32位实部和虚部组成的复数 |
线性代数
类型 | 描述 |
---|---|
[][]float64 | m*n规格的矩阵,由matrix方法构建 |
关于这部分可到进阶-线代和矩阵查看更详细的支持
map和数组
类型 | 描述 | 示例 |
---|---|---|
map | 键值对 | me={name:'zwr'} |
[] | 数组 | lang=['chinese','english'] |
此外还有衍生出来的类型
类型 | 描述 | 示例 |
---|---|---|
bytearray | byte数组 | bytearray("nihao") / "nihao".bytes |
runearray | rune数组 | runearray("nihao") / "nihao".runes |
… | 其它类型数组 |
类型转换
直接用类型(变量)
进行转换
例如
a = "123"
print(a + 456) // 123456
print(int(a) + 456) // 579
b = 888
print(b + 111) // 999
print(string(b) + 111) // 888111
Go版Z1h可用strconv
标准库的函数进行类型转换