Mostrando postagens com marcador alterar slice. Mostrar todas as postagens
Mostrando postagens com marcador alterar slice. Mostrar todas as postagens

quarta-feira, 10 de outubro de 2018

Programando em Go (Golang) - Slice part 2

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)
}
}



Voltar para o menu