Search…
数组
数组是存储在连续内存位置的项的集合。它是一个聚合数据结构,旨在存储一组相同类型的对象。它是存储和访问一系列对象的最有效的数据结构。

如何声明数组

创建包含整数值的数组:
1
mut ages := [18, 25, 37]
2
3
println(ages)
Copied!
Output
1
[18, 25, 37]
Copied!
或者创建一个包含字符串值的数组:
1
mut users := ['vbrazo', 'donnisnoni95', 'Delta456']
2
3
println(users)
Copied!
输出
1
['vbrazo', 'donnisnoni95', 'Delta456']
Copied!
注意:所有元素必须具有相同的类型。以下代码将无法编译。
1
mut users := ['vbrazo', 'donnisnoni95', 'Delta456', 0]
Copied!
输出
1
~/main.v:2:43: bad array element type `int` instead of `string`
Copied!

创建空数组

如果要创建一个新的空数组,只需声明[],后跟数据类型。
1
mut names := []string
2
mut numbers := []int
Copied!

访问数组的元素

1
mut users := ['vbrazo', 'donnisnoni95', 'Delta456']
2
3
println(users[0])
4
println(users[2])
5
println(users[1])
Copied!
输出
1
vbrazo
2
Delta456
3
donnisnoni95
Copied!

将值附加到数组

<< 是将值附加到数组末尾的运算符。
1
mut ages := [18]
2
ages << 47
3
4
println(ages)
Copied!
数组
1
[18, 47]
Copied!
它还可以附加一个完整的数组。
1
mut ages := [18]
2
ages << [47, 49]
3
4
println(ages)
Copied!
输出
1
[18, 47, 49]
Copied!

数组的长度/大小

.len 方法返回数组的长度。
1
mut names := ['Thiago', 'John']
2
3
println(names.len)
Copied!
输出
1
2
Copied!

In运算符

in 检查元素是否在数组中。
1
mut names := ['Thiago', 'Alex', 'Joe']
2
3
println('Vitor' in names)
4
println('Thiago' in names)
Copied!
输出
1
false
2
true
Copied!

切片

在V中切片很容易,可以使用默认的 V切片功能,无需调用slice()方法。 语法如下my_array[start..end]
1
animals := ['lion', 'goose', 'chicken', 'turkey', 'tiger']
2
poultry := animals[1..4]
3
println(poultry) // ["goose", "chicken", "turkey"]
Copied!
如果要从索引的开头开始切片,只需将其忽略为放置0,然后改“my_array[…end]my_array[start…]
1
x := ['h', 'e', 'l', 'l', 'o']
2
y := x[..x.len-1]
3
z := x[1..]
4
println(y) // ['h', 'e', 'l', 'l']
5
println(z) // ['e', 'l', 'l', '0']
Copied!

练习

1.编写一个V程序,将元素存储在数组中并打印出来。 2.编写一个V程序,读取数组中n个值,并按相反顺序显示。 3.编写一个V程序来查找数组中所有元素的和。 4.编写一个V程序,将一个数组的元素复制到另一个数组中。 5.编写一个V程序来计算数组中重复元素的总数。
Last modified 2yr ago