Operador de declaração de variável curta em Go

O operador de declaração curta de variáveis ​​(:=) em Golang é usado para criar variáveis ​​com um nome e valor inicial exclusivos. O principal objetivo de usar este operador é declarar e inicializar variáveis ​​locais dentro de funções e restringir o escopo de variáveis. O tipo da variável é determinado pelo tipo da expressão. A palavra-chave var também é usada para criar variáveis ​​de um tipo específico. Então podemos dizer que existem duas maneiras de criar variáveis ​​em Golang:

Operador de declaração de variável curta em Go

  • Usando a palavra-chave var
  • Use o operador de declaração de variável curta (:=)

Agora vamos aprender como usar o operador de declaração curta de variáveis ​​em Golang!

Conteúdo principal

Sintaxe para usar o operador de declaração de variável curta em Golang

variable_name := biểu thức hoặc giá trị

Aqui, você deve inicializar a variável logo após a declaração. Mas usando a palavra-chave var você pode evitar a inicialização no momento da declaração. Não há necessidade de mencionar o tipo da variável. A expressão ou valor no lado direito é usado para avaliar o tipo da variável.

Por exemplo: aqui estamos declarando variáveis ​​usando o operador de declaração curta e não especificando o tipo de variável. O tipo da variável é determinado pelo tipo da expressão no lado direito do operador :=.

// Minh họa chương trình Go dùng := (toán tử khai báo ngắn) 
package main

import "fmt"

func main() {

	// khai báo và khởi tạo biến
	a := 30

	// lấy một biến chuỗi
	Language: = "Go Programming"

	fmt.Println("The Value of a is: ", a)
	fmt.Println("The Value of Language is: ", Language)

}

Resultado:

The Value of a is:  30
The Value of Language is:  Go Programming

Declarando múltiplas variáveis ​​usando o operador de declaração curta

O operador de declaração curta também pode ser usado para declarar múltiplas variáveis ​​do mesmo tipo ou de tipos diferentes em uma única declaração. Os tipos dessas variáveis ​​são avaliados pela expressão no lado direito do operador :=.

Por exemplo:

// Minh họa chương trình Go dùng toán tử khai báo ngắn := short để khai báo nhiều
// biến thành một câu lệnh khai báo duy nhất
package main

import "fmt"

func main() { 

// nhiều biến của cùng kiểu(int)
geek1, geek2, geek3 := 117, 7834, 5685

// nhiều biến của các kiểu khác nhau
geek4, geek5, geek6 := "GFG", 859.24, 1234

// Hiện giá trị và kiểu của biến
fmt.Printf("The value of geek1 is : %d\n", geek1) 
fmt.Printf("The type of geek1 is : %T\n", geek1) 

fmt.Printf("\nThe value of geek2 is : %d\n", geek2) 
fmt.Printf("The type of geek2 is : %T\n", geek2) 

fmt.Printf("\nThe value of geek3 is : %d\n", geek3) 
fmt.Printf("The type of geek3 is : %T\n", geek3)

fmt.Printf("\nThe value of geek4 is : %s\n", geek4) 
fmt.Printf("The type of geek4 is : %T\n", geek4)


fmt.Printf("\nThe value of geek5 is : %f\n", geek5) 
fmt.Printf("The type of geek5 is : %T\n", geek5)

fmt.Printf("\nThe value of geek6 is : %d\n", geek6) 
fmt.Printf("The type of geek6 is : %T\n", geek6)

} 

Resultado:

The value of geek1 is : 117
The type of geek1 is : int

The value of geek2 is : 7834
The type of geek2 is : int

The value of geek3 is : 5685
The type of geek3 is : int

The value of geek4 is : GFG
The type of geek4 is : string

The value of geek5 is : 859.240000
The type of geek5 is : float64

The value of geek6 is : 1234
The type of geek6 is : int

Pontos importantes a serem lembrados:

O operador de declaração curta pode ser usado quando pelo menos uma variável no lado esquerdo do operador :=é declarada como nova. O operador de declaração curta de variáveis ​​funciona como uma atribuição a variáveis ​​declaradas dentro do mesmo bloco lexical. Para entender melhor esse conceito, vamos ver um exemplo.

Exemplo 1: O programa abaixo gerará um erro porque não há nenhuma nova variável no lado esquerdo do operador :=.

// Minh họa chương trình Go dùng khai báo biến ngắn
package main

import "fmt"

func main() { 

	// lấy hai biến
	p, q := 100, 200

	fmt.Println("Value of p ", p, "Value of q ", q)

	// Báo lỗi vì không có biến mới ở bên tay trái của :=
	p, q := 500, 600
	
	fmt.Println("Value of p ", p, "Value of q ", q)
}

Erro:

./prog.go:17:10: no new variables on left side of := 

Exemplo 2:

No programa abaixo, você pode ver que a linha geek3, geek2 := 456, 200 funcionará bem sem nenhum erro porque há pelo menos uma nova variável, ou seja, geek3, no lado esquerdo do operador :=.

// Chương trình Go dùng toán tử khai báo biến ngắn
package main 

import "fmt"

func main() { 

// Ở đây, khai báo biến ngắn hoạt động
// như một phép gán cho biến geek1
// vì cùng một biến có trong cùng một khối
// do đó giá trị của geek2 được thay đổi từ 100 thành 200
geek1, geek2 := 78, 100

// ở đây, := được sử dụng như một phép gán cho geek2
// vì nó đã được khai báo. Ngoài ra, dòng này
// sẽ hoạt động tốt vì geek3 mới được tạo
// biến
geek3, geek2 := 456, 200

// Nếu bạn thử chạy các dòng được chú thích,
// thì trình biên dịch sẽ báo lỗi vì
// các biến này đã được định nghĩa
// geek1, geek2 := 745, 956
// geek3 := 150

// Hiện giá trị của các biến
fmt.Printf("The value of geek1 and geek2 is : %d %d\n", geek1, geek2) 
											
fmt.Printf("The value of geek3 and geek2 is : %d %d\n", geek3, geek2) 
} 

Resultado:

The value of geek1 and geek2 is : 78 200
The value of geek3 and geek2 is : 456 200

Go é uma linguagem fortemente tipada porque você não pode atribuir um valor de um tipo de dado diferente a uma variável declarada.

Por exemplo:

// Minh họa chương trình Go dùng toán tử khai báo biến ngắn
package main 

import "fmt"

func main() { 

	// lấy một biến của int
	z := 50
	
	fmt.Printf("Value of z is %d", z)
	
	// gán lại giá trị của kiểu chuỗi
// nó sẽ đưa ra lỗi
	z := "Golang"
} 

Erro:

./prog.go:16:4: no new variables on left side of := 
./prog.go:16:7: cannot use “Golang” (type string) as type int in assignment 
 

Em uma declaração curta de variável, Golang permite inicializar um conjunto de variáveis ​​usando uma chamada de função que retorna múltiplos valores. Ou você pode dizer que variáveis ​​também podem receber valores que são avaliados em tempo de execução.

Por exemplo:

// Tại đây, hàm math.Max function trả về
// số lớn nhất trong biến i 
i := math.Max(x, y)

Variável local ou variável global

Com a ajuda do operador de declaração curta de variáveis ​​(:=), você pode declarar variáveis ​​locais cujo escopo está somente no nível de bloco. Em geral, variáveis ​​locais são declaradas dentro do bloco de função. Se você tentar declarar variáveis ​​globais usando o operador de declaração curta, receberá um erro.

Exemplo 1:

// Chương trình Go hiển thị cách sử dụng toán tử :=
// để khai báo các biến cục bộ
package main

import "fmt"

// sử dụng từ khóa var để khai báo
// và khởi tạo biến
// đó là package hoặc bạn có thể nói
// phạm vi cấp toàn cục
var geek1 = 900

// sử dụng khai báo biến ngắn
// sẽ báo lỗi
geek2 := 200

func main() {

// truy cập geek1 bên trong hàm
fmt.Println(geek1)

// truy cập geek2 bên trong hàm
fmt.Println(geek2)

}

Erro:

./prog.go:15:1: syntax error: non-declaration statement outside function body 

Exemplo 2:

// Chương trình Go dùng toán tử := operator
// để khai báo các biến cục bộ
package main 

import "fmt"

// dùng từ khóa var để khai báo
// và khởi tạo biến
// nó đóng gói hoặc bạn có thể báo
// phạm vi cấp toàn cục
var geek1 = 900


func main() { 

// dùng khai báo biến ngắn
// bên trong hàm chính
// nó có phạm vi cục bộ tức là không thể
// truy cập bên ngoài hàm chính
geek2 := 200

// truy cập geek1 bên trong hàm này
fmt.Println(geek1) 

// truy cập geek2 bên trong hàm này
fmt.Println(geek2) 
	
} 

Resultado:

900
200

Deixar um comentário

IPTU em São Bernardo do Campo: como emitir a segunda via e consultar débitos

IPTU em São Bernardo do Campo: como emitir a segunda via e consultar débitos

Veja como emitir a segunda via do IPTU em São Bernardo do Campo, consultar débitos de outros exercícios e pagar uma guia vencida com segurança.

Como descartar máquina de lavar em São Paulo: guia prático

Como descartar máquina de lavar em São Paulo: guia prático

Saiba como descartar máquina de lavar em São Paulo com segurança: Cata-Bagulho, logística reversa, preparação, transporte e erros que devem ser evitados.

Como descartar lâmpadas fluorescentes em Duque de Caxias com segurança

Como descartar lâmpadas fluorescentes em Duque de Caxias com segurança

Saiba onde e como descartar lâmpadas fluorescentes em Duque de Caxias, como acondicioná-las, o que fazer se quebrarem e quais pontos confirmar antes de sair.

Como descartar power bank em Teresina: onde levar e o que fazer com segurança

Como descartar power bank em Teresina: onde levar e o que fazer com segurança

Saiba como descartar power bank em Teresina, inclusive se estiver estufado ou danificado, e como localizar um ponto de logística reversa atualizado.

Como descartar micro-ondas em Campinas: guia prático e seguro

Como descartar micro-ondas em Campinas: guia prático e seguro

Saiba como descartar micro-ondas em Campinas: prepare o aparelho, escolha ecoponto ou logística reversa e evite erros no transporte.

Como descartar power bank em Recife? Veja onde levar e o que fazer com a bateria

Como descartar power bank em Recife? Veja onde levar e o que fazer com a bateria

Saiba como descartar power bank em Recife com segurança: compare EcoEstações, PEVs, lojas e pontos de logística reversa, além dos cuidados com aparelhos estufados ou danificados.

Como descartar micro-ondas em Belém? Guia passo a passo

Como descartar micro-ondas em Belém? Guia passo a passo

Saiba como descartar micro-ondas em Belém: Ecoponto da Sacramenta, Hub do Pix, logística reversa, preparo e erros a evitar.

Como descartar geladeira com segurança: guia de preparação e coleta

Como descartar geladeira com segurança: guia de preparação e coleta

Aprenda como descartar geladeira corretamente: encontre um ponto por CEP, prepare o aparelho, organize o transporte e evite erros comuns.

Como descartar televisão em São Paulo: opções seguras e gratuitas

Como descartar televisão em São Paulo: opções seguras e gratuitas

Saiba como descartar televisão em São Paulo: consulte pontos ABREE, confirme Ecopontos e prepare a TV para transporte e reciclagem.

Como descartar bateria de lítio em Salvador com segurança

Como descartar bateria de lítio em Salvador com segurança

Veja onde descartar bateria de lítio em Salvador, como encontrar pontos Green Eletron e ABREE e o que fazer com baterias inchadas ou danificadas.