Arrayes em Go
Arrays na linguagem de programação Golang ou Go é muito semelhante a outras linguagens de programação. No programa, às vezes precisamos armazenar uma coleção de dados do mesmo tipo, como uma lista de notas do aluno. Esse tipo de coleção é armazenado em um programa usando um Array. Uma array é uma sequência de comprimento fixo usada para armazenar elementos homogêneos na memória. Devido à sua array de comprimento fixo, não são muito populares como a linguagem Slice in Go.
Em uma array, você tem permissão para armazenar zero ou mais de zero elementos nela. Os elementos da array são indexados usando o operador de índice [] com sua posição baseada em zero, significa que o índice do primeiro elemento é array [0] e o índice do último elemento é array [len (array) -1] .
Criação e acesso a um Array
Na linguagem Go, os arrays são criados de duas maneiras diferentes:
- Usando a palavra-chave var : na linguagem Go, um array é criado usando a palavra-chave var de um tipo específico com nome, tamanho e elementos.
Sintaxe:
Var array_name [comprimento] Tipo ou var array_name [comprimento] Digite {item1, item2, item3, ... itemN}
Pontos importantes:
- Na linguagem Go, os arrays são mutáveis, de modo que você pode usar a sintaxe array [índice] no lado esquerdo da atribuição para definir os elementos do array no índice fornecido.
Var array_name [índice] = elemento
- Você pode acessar os elementos da array usando o valor do índice ou usando o loop for.
- Na linguagem Go, o tipo de array é unidimensional.
- O comprimento da array é fixo e imutável.
- Você tem permissão para armazenar elementos duplicados em uma array.
Exemplo:
// Go program to illustrate how to
// create an array using the var keyword
// and accessing the elements of the
// array using their index value
package main
import
"fmt"
func main() {
// Creating an array of string type
// Using var keyword
var
myarr[3]
string
// Elements are assigned using index
myarr[0] =
"GFG"
myarr[1] =
"GeeksforGeeks"
myarr[2] =
"Geek"
// Accessing the elements of the array
// Using index value
fmt.Println(
"Elements of Array:"
)
fmt.Println(
"Element 1: "
, myarr[0])
fmt.Println(
"Element 2: "
, myarr[1])
fmt.Println(
"Element 3: "
, myarr[2])
}
Saída:
Elementos da array: Elemento 1: GFG Elemento 2: GeeksforGeeks Elemento 3: Geek
- Na linguagem Go, os arrays são mutáveis, de modo que você pode usar a sintaxe array [índice] no lado esquerdo da atribuição para definir os elementos do array no índice fornecido.
- Usando a declaração abreviada: Na linguagem Go, os arrays também podem declarar usando a declaração abreviada. É mais flexível do que a declaração acima.
Sintaxe:
array_name: = [comprimento] Digite {item1, item2, item3, ... itemN}
Exemplo:
// Go program to illustrate how to create
// an array using shorthand declaration
// and accessing the elements of the
// array using for loop
package main
import
"fmt"
func main() {
// Shorthand declaration of array
arr:= [4]
string
{
"geek"
,
"gfg"
,
"Geeks1231"
,
"GeeksforGeeks"
}
// Accessing the elements of
// the array Using for loop
fmt.Println(
"Elements of the array:"
)
for
i:= 0; i < 3; i++{
fmt.Println(arr[i])
}
}
Saída:
Elementos da array: nerd gfg Geeks1231
Array Multi-Dimensional
Como já sabemos, os arrays são 1-D, mas você pode criar um array multidimensional. Arrayes multidimensionais são as arrayes de arrayes do mesmo tipo . Na linguagem Go, você pode criar uma array multidimensional usando a seguinte sintaxe:
Array_name[Length1][Length2]..[LengthN]Type
Você pode criar uma array multidimensional usando a palavra - chave Var ou usando a declaração abreviada conforme mostrado no exemplo abaixo.
Nota: Em uma array multidimensional, se uma célula não for inicializada com algum valor pelo usuário, ela será inicializada com zero pelo compilador automaticamente. Não existe um conceito não inicializado no Golang.
Exemplo:
// Go program to illustrate the
// concept of multi-dimension array
package main
import "fmt"
func main() {
// Creating and initializing
// 2-dimensional array
// Using shorthand declaration
// Here the (,) Comma is necessary
arr:= [3][3]string{{"C#", "C", "Python"},
{"Java", "Scala", "Perl"},
{"C++", "Go", "HTML"},}
// Accessing the values of the
// array Using for loop
fmt.Println("Elements of Array 1")
for x:= 0; x < 3; x++{
for y:= 0; y < 3; y++{
fmt.Println(arr[x][y])
}
}
// Creating a 2-dimensional
// array using var keyword
// and initializing a multi
// -dimensional array using index
var arr1 [2][2] int
arr1[0][0] = 100
arr1[0][1] = 200
arr1[1][0] = 300
arr1[1][1] = 400
// Accessing the values of the array
fmt.Println("Elements of array 2")
for p:= 0; p<2; p++{
for q:= 0; q<2; q++{
fmt.Println(arr1[p][q])
}
}
}
Saída:
Elements of Array 1 C# C Python Java Scala Perl C++ Go HTML Elements of array 2 100 200 300 400
Observações importantes sobre a array
- Em uma array, se uma array não foi inicializada explicitamente, o valor padrão desta array é 0 .
Exemplo:
// Go program to illustrate an array
package main
import
"fmt"
func main() {
// Creating an array of int type
// which stores, two elements
// Here, we do not initialize the
// array so the value of the array
// is zero
var
myarr[2]
int
fmt.Println(
"Elements of the Array :"
, myarr)
}
Saída:
Elementos do Array: [0 0]
- Em uma array, você pode encontrar o comprimento da array usando o método len() conforme mostrado abaixo:
Exemplo:
// Go program to illustrate how to find
// the length of the array
package main
import
"fmt"
func main() {
// Creating array
// Using shorthand declaration
arr1:= [3]
int
{9,7,6}
arr2:= [...]
int
{9,7,6,4,5,3,2,4}
arr3:= [3]
int
{9,3,5}
// Finding the length of the
// array using len method
fmt.Println(
"Length of the array 1 is:"
, len(arr1))
fmt.Println(
"Length of the array 2 is:"
, len(arr2))
fmt.Println(
"Length of the array 3 is:"
, len(arr3))
}
Saída:
O comprimento da array 1 é: 3 O comprimento da array 2 é: 8 O comprimento da array 3 é: 3
- Em uma array, se as reticências ''… '' se tornarem visíveis no lugar do comprimento, então o comprimento da array é determinado pelos elementos inicializados. Conforme mostrado no exemplo abaixo:
Exemplo:
// Go program to illustrate the
// concept of ellipsis in an array
package main
import
"fmt"
func main() {
// Creating an array whose size is determined
// by the number of elements present in it
// Using ellipsis
myarray:= [...]
string
{
"GFG"
,
"gfg"
,
"geeks"
,
"GeeksforGeeks"
,
"GEEK"
}
fmt.Println(
"Elements of the array: "
, myarray)
// Length of the array
// is determine by
// Using len() method
fmt.Println(
"Length of the array is:"
, len(myarray))
}
Saída:
Elementos da array: [GFG gfg geeks GeeksforGeeks GEEK] O comprimento da array é: 5
- Em uma array, você pode iterar ao longo do intervalo dos elementos da array . Conforme mostrado no exemplo abaixo:
Exemplo:
// Go program to illustrate
// how to iterate the array
package main
import
"fmt"
func main() {
// Creating an array whose size
// is represented by the ellipsis
myarray:= [...]
int
{29, 79, 49, 39,
20, 49, 48, 49}
// Iterate array using for loop
for
x:=0; x < len(myarray); x++{
fmt.Printf(
"%d\n"
, myarray[x])
}
}
Saída:
29 79 49 39 20 49 48 49
- Na linguagem Go, um array é do tipo valor e não do tipo referência . Portanto, quando a array é atribuída a uma nova variável, as alterações feitas na nova variável não afetam a array original. Conforme mostrado no exemplo abaixo:
Exemplo:
// Go program to illustrate value type array
package main
import
"fmt"
func main() {
// Creating an array whose size
// is represented by the ellipsis
my_array:= [...]
int
{100, 200, 300, 400, 500}
fmt.Println(
"Original array(Before):"
, my_array)
// Creating a new variable
// and initialize with my_array
new_array := my_array
fmt.Println(
"New array(before):"
, new_array)
// Change the value at index 0 to 500
new_array[0] = 500
fmt.Println(
"New array(After):"
, new_array)
fmt.Println(
"Original array(After):"
, my_array)
}
Saída:
Array original (antes): [100 200 300 400 500] Nova array (antes): [100 200 300 400 500] Nova array (Depois): [500 200 300 400 500] Array original (depois): [100 200 300 400 500]
- Em uma array, se o tipo de elemento da array for comparável, o tipo de array também será comparável. Portanto , podemos comparar diretamente duas arrayes usando o operador == . Conforme mostrado no exemplo abaixo:
Exemplo:
// Go program to illustrate
// how to compare two arrays
package main
import
"fmt"
func main() {
// Arrays
arr1:= [3]
int
{9,7,6}
arr2:= [...]
int
{9,7,6}
arr3:= [3]
int
{9,5,3}
// Comparing arrays using == operator
fmt.Println(arr1==arr2)
fmt.Println(arr2==arr3)
fmt.Println(arr1==arr3)
// This will give and error because the
// type of arr1 and arr4 is a mismatch
/*
arr4:= [4]int{9,7,6}
fmt.Println(arr1==arr4)
*/
}
Saída:
verdade falso falso
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva