数组(Arrays)


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方法中的特殊变量。