仓颉-基础数据类型 整数类型 之前用java没有这些细节,但是golang和仓颉是有区分长度的 整数类型分为有符号(signed)整数类型和无符号(unsigned)整数类型。 有符号整数类型包括 Int8、Int16、Int32、Int64 和 IntNative,分别用于表示编码长度为 8-bit、16-bit、32-bit、64-bit 和平台相关大小的有符号整数值的类型。 无符号整数类型包括 UInt8、UInt16、UInt32、UInt64 和 UIntNative,分别用于表示编码长度为 8-bit、16-bit、32-bit、64-bit 和平台相关大小的无符号整数值的类型。 如果涉及到转换时 低范围转换高范围的也是可以直接转换的 例如unit16 转换为unit32可以直接转换,因为低范围可以直接转换到高范围。同理 int16直接转换int32,其他类型也是可以的。
var tint16:UInt16 = 1000
var tUint32:UInt32 = UInt32(tint16)
println("tUint32:${tUint32}")
高范围转换低范围,超过的值默认给该类型最大值,例如uint16最大值是65535,所以转换时要注意
var t2int32:UInt32 = 4294967295
var t2Uint32:UInt16 = UInt16(t2int32)
println("t2Uint32:${t2Uint32}")
打印输出后运行异常 范围越界
判断是否为null时使用下面方式
var str:String =""
println(str.isEmpty())
Unit类型 Unit代表没有任何意义的值类型,类似于java中的void类型,他是anyval的子类型,仅有一个实例对象"( )"
Nothing类型 Nothing 类型,在仓颉语言中,同 Unit 一样,都是相当特殊的类型。Nothing 类型表示的数据,就是什么也没有,所以,Nothing 类型实际上就是仓颉语言的 null。对于 Unit 类型来说,至少可以通过字面量 () 进行显式声明,而 Nothing 则完全不允许显式使用,即无法创建一个 Nothing 类型的变量或常量。