fn main() { nums := [1, 2, 3] println(nums) println(nums[1]) // ==> "2" var names := ['John'] names << 'Peter' names << 'Sam' // names << 10 <-- 编译失败,`names`是一个字符串数组 println(names.len) // ==> "3" println('Alex' in names) // ==> "false" // 预分配一定数量的元素 ids := [0].repeat(50) // 创建一个包含50个值为0的数组 }
数组类型由第一个元素决定:[1,2,3]
是一个int
数组([]int
)。
['a','b']
是字符串数组([]string
)。
数组中所有元素的类型必须统一。[1,'a']
将无法通过编译。
<<
运算符可以将元素追加到数组末尾。
.len
属性可以获取数组的长度。请注意,它是一个只读属性,用户无法修改。默认情况下,V语言中所有导出的属性都是只读的。
val in array方法可以检测数组中是否包含某元素,返回值bool
类型。
数据截取可以使用array[start..end]方法。
数组可以使用.filter()和.map()方法进行过滤及映射操作:
nums := [1, 2, 3, 4, 5, 6] even := nums.filter(it % 2 == 0) println(even) // [2, 4, 6] words := ['hello', 'world'] upper := words.map(it.to_upper()) println(upper) // ['HELLO', 'WORLD']
it
是引用map及filter方法中的特殊变量。