Adicionando itens a um slice
Para adicionar um novo item a um slice utilizamos a função append. A função append recebe com parâmetro slice, e o valor que será adicionado ao mesmo, sendo que é possível passar mais que um parâmetro de valor para o slice.
Sintaxe:
append (slice,valor,...,valor_n)
Onde
slice - Nome do slide a ser atribuído.
valor,...,valor_n - Valores a serem adicionado ao slice
Exemplo:
No exemplo abaixo vemos dois exemplos onde é possível ver adição de itens a um determinado slice.
package main
import ( "fmt")
func main (){
var sliceNomes []string
fmt.Printf("\n Total de itens no slice é : %d",len(sliceNomes))
//No exemplo abaixo é adicionado um item ao slice sliceNomes
sliceNomes=append(sliceNomes,"Maria")
fmt.Printf("\n Total de itens no slice é : %d",len(sliceNomes))
//No exemplo abaixo é adicionado três itens ao slice sliceNomes
sliceNomes= append(sliceNomes,"John", "Dany", "Sansa")
fmt.Printf("\n Total de itens no slice é : %d",len(sliceNomes))
}
Abaixo é possível ver o resultado da execução do programa acima no
powershell (pode escolher o cmd também)..
Range
O range é comando utilizado para acessar de maneira mais simples e rápida os valores de um slice em um laço for.
Quando utilizamos o range é tornado para o programador dois valores: um
int e outro do tipo de dado de seu slice, abaixo é possível ver essa ação na sintaxe e exemplo abaixo.
Sintaxe:
for contador,valor :range slice{
/...Ações a serem tomadas
}
Onde:
contador - Variável do contador do laço.
valor - Contido na posição explicitada pelo contador dentro do slice.
slice - Slice a ser percorrido
Exemplo:
package main
import "fmt"
var nomes = []string{"Bruce", "Tony","Pietro", "Vanda", "Logan", "Wade"}
func main() {
for i, v := range nomes{
fmt.Printf("[%d] = %s\n", i, v)
}
}