运算符
运算符 = 符号 + 类型
cpro 是强类型语言,二元运算符可以写明运算类型;不写时默认按 z64(i64)运算。没有隐式类型提升。
运算符符号在三种写法里都一样,方括号里的类型名按写法换成拼音或英文。
cpro
bl x = a +[z64] b
bl y = a +[z32] b
bl z = s1 +[zifuchuan] s2 // 字符串拼接
bl w = a + b // 等价 a +[z64] b
bl e = x ==[f64] ycpro
变量 x = a +[i64] b
变量 y = a +[i32] b
变量 z = s1 +[string] s2 // 字符串拼接
变量 w = a + b // 等价 a +[i64] b
变量 e = x ==[f64] ycpro
var x = a +[i64] b
var y = a +[i32] b
var z = s1 +[string] s2 // 字符串拼接
var w = a + b // 等价 a +[i64] b
var e = x ==[f64] y类型不匹配直接报错:
cpro
bl a leixing z32 = 5
bl b leixing z32 = 3
bl c = a +[z64] b // ✗ 报错:a、b 是 z32
bl d = a +[z32] b // ✓cpro
变量 a 类型 i32 = 5
变量 b 类型 i32 = 3
变量 c = a +[i64] b // ✗ 报错:a、b 是 i32
变量 d = a +[i32] b // ✓cpro
var a type i32 = 5
var b type i32 = 3
var c = a +[i64] b // ✗ 报错:a、b 是 i32
var d = a +[i32] b // ✓规则
- 一元运算符(
-、!)不需要写类型 - 二元运算符前后写空格
- 不支持
+=-=*=/=,也不支持++--,请写i = i +[z64] 1 - 字符串只支持
+[zifuchuan]、==[zifuchuan]、!=[zifuchuan](英文写string) optional不能直接参与运算,要先解包,见 optional 空值
暂不支持
位运算与移位(& | ^ ~ << >>)当前版本尚未开放。
