基本数据类型

在 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标准库的函数进行类型转换