• 字符串

    字符串

    1. name := 'Bob'
    2. println('Hello, $name!') // `$` is used for string interpolation
    3. println(name.len)
    4. bobby := name + 'by' // + is used to concatenate strings
    5. println(bobby) // ==> "Bobby"
    6. println(bobby.substr(1, 3)) // ==> "ob"
    7. // println(bobby[1:3]) // This syntax will most likely replace the substr() method

    V语言中,字符串是一个只读的字节数组。字符串数据采用UTF8编码。

    单引号和双引号都可以用户包含字符串面值(TODO:双引号目前还不支持)。为保持一致性,vfmt会将双引号字符串转换为单引号,除非该字符串包含单引号字符。

    因为字符串是只读的,因此字符串的取子字符串的操作会比较高效:不需要复制,也不需要额外分配内存。

    V语言中运算符两边值的类型必须是一样的。比如下面的代码,如果age是int类型的话,是不能正确编译的:

    1. println('age = ' + age)

    我们需要将age转换为string类型:

    1. println('age = ' + age.str())

    或者在字符串内部直接嵌入表达式(这是比较完美的方式):

    1. println('age = $age')