上QQ阅读APP看书,第一时间看更新
3.2.4 拼接字符串
在仓颉中,可以使用操作符“+”对字符串进行拼接。举例如下:
println("东风夜放花千树。" + "更吹落," + "星如雨。")
以上代码的输出结果为:
东风夜放花千树。更吹落,星如雨。
另外,也可以使用复合赋值操作符“+=”来对字符串进行拼接。举例如下:
var str = "路漫漫其修远兮" str += "\n吾将上下而求索" // 相当于str = str + "\n吾将上下而求索" println(str)
以上代码的输出结果为:
路漫漫其修远兮 吾将上下而求索
在拼接字符串时必须要注意操作数的数据类型。只有当左操作数和右操作数均为String类型时,才可以使用“+”或“+=”对其进行拼接,否则会导致编译错误。举例如下:
println('x' + "yz") // 编译错误:左操作数为Rune类型,右操作数为String类型 println("xy" + 'z') // 编译错误:左操作数为String类型,右操作数为Rune类型 println(10 + "a") // 编译错误:不能拼接整数类型和String类型
如果需要将其他类型的数据与String类型进行拼接,可以先调用toString函数将其他非String类型转换为String类型,然后再通过“+”或“+=”进行拼接,如代码清单3-2所示。
代码清单3-2 string_splicing.cj
01 main() { 02 var side = 3 03 var info: String 04 info = "边长为" + side.toString() + "的正方形的面积为" + (side ** 2).toString() 05 println(info) 06 }
编译并执行上述代码,输出结果为:
边长为3的正方形的面积为9
尽管使用以上方式可以实现其他类型的数据与字符串的拼接,但这种方式不仅容易出错,而且代码的可读性也很差。在实际操作时,推荐使用插值字符串。