字符串
name := 'Bob'
println('Hello, $name!') // `$` is used for string interpolation
println(name.len)
bobby := name + 'by' // + is used to concatenate strings
println(bobby) // ==> "Bobby"
println(bobby.substr(1, 3)) // ==> "ob"
// println(bobby[1:3]) // This syntax will most likely replace the substr() method
V语言中,字符串是一个只读的字节数组。字符串数据采用UTF8编码。
单引号和双引号都可以用户包含字符串面值(TODO:双引号目前还不支持)。为保持一致性,vfmt会将双引号字符串转换为单引号,除非该字符串包含单引号字符。
因为字符串是只读的,因此字符串的取子字符串的操作会比较高效:不需要复制,也不需要额外分配内存。
V语言中运算符两边值的类型必须是一样的。比如下面的代码,如果age是int类型的话,是不能正确编译的:
println('age = ' + age)
我们需要将age转换为string类型:
println('age = ' + age.str())
或者在字符串内部直接嵌入表达式(这是比较完美的方式):
println('age = $age')