web-dev-qa-db-fra.com

Est-il possible d'initialiser une tranche avec des valeurs spécifiques?

Est-il possible d'initialiser une tranche avec tous les 1 comme en python?

PYTHON:

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

GOLANG

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

Est-il possible de faire mieux que ça?

10
Nicky Feller

Oui mais vous devez utiliser une syntaxe différente.

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

Il est appelé "littéral composite"

De plus, s'il y a une raison d'itérer (comme le calcul de la variable de boucle basée sur les valeurs ou quelque chose), vous pouvez utiliser le mot clé range plutôt que l'ancienne école car i est égal à, i est inférieur à, boucle i ++.

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