仓颉编程快速上手
上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

尽管使用以上方式可以实现其他类型的数据与字符串的拼接,但这种方式不仅容易出错,而且代码的可读性也很差。在实际操作时,推荐使用插值字符串。