是否可以使用特定值初始化slice?

问题描述 投票:8回答:1

是否可以像在python中那样用全1初始化切片?

PYTHON:

onesArray = np.ones(5)
onesList = [1]*5

GOLANG

onesSlice := make([]int, 5)
for i:= 0; i < len(onesSlice); i++{
    onesSlice[i] = 1
}

是否有可能做得更好?

go slice
1个回答
20
投票

是,但是您必须使用其他语法。

oneSlice := []int{1, 1, 1, 1, 1}

称为“复合文字”

[此外,如果有理由进行迭代(如计算基于循环变量的值之类的东西,那么您可以使用range关键字而不是旧式,因为i等于,i小于i ++循环。] >

for i := range onesSlice {
    onesSlice[i] = 1
}
© www.soinside.com 2019 - 2024. All rights reserved.