是否可以使用特定值初始化golang切片?

时间:2016-10-11 19:13:48

标签: go slice

是否可以像在python中一样初始化一个切片?

PYTHON:

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

GOLANG

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

有可能比这更好吗?

1 个答案:

答案 0 :(得分:15)

是的,但你必须使用不同的语法。

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

它被称为'复合文字'

另外,如果有理由进行迭代(比如计算基于值的循环变量或其他东西)那么你可以使用range关键字而不是旧学校,因为i等于,i小于,i ++循环。

for i := range onesSlice {
    onesSlice[i] = 1
}