English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial básico do Golang

Controle de语句 do Golang

Função & método do Golang

Estrutura do Golang

fatia & array do Golang

Cadeia (String) do Golang

Ponteiro do Golang

Interface do Golang

Concorrência do Golang

Exceção (Error) do Golang

Miscelânea do Golang

Operador de declaração de variável curta (:=) do Go

O operador de declaração de variável curta (:=) do Golang é usado para criar variáveis com nomes apropriados e valores iniciais. O principal objetivo deste operador é declarar e inicializar variáveis locais dentro de funções, e restringir o escopo das 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 tipos específicos. Portanto, você pode dizer que há duas maneiras de criar variáveis no Golang, conforme mostrado a seguir:

  • usar a palavra-chave var

  • usar o operador de declaração de variável curta (:=)

Neste artigo, discutiremos apenas o operador de declaração de variável curta. Para entender a palavra-chave var, você podeno Goreferênciapalavra-chave var.

A sintaxe do operador de declaração de variável curta:

variable_name := expressão ou valor

Aqui, é necessário inicializar variáveis imediatamente após a declaração, sem mencionar o tipo da variável, e a expressão ou valor à direita é usada para avaliar o tipo da variável. O uso da palavra-chave var pode evitar a inicialização na declaração.

exemplo:}Aqui, usamos o operador de declaração curta para declarar variáveis sem especificar o tipo da variável. O tipo da variável é determinado por:=o tipo da expressão à direita do operador determina.

package main
import "fmt"
func main() {
    //declarar e inicializar variáveis
    a := 30
    //aceitar uma variável de string
    Language := "Go Language Basic Tutorial"
    fmt.Println("a's value: ", a)
    fmt.Println("Language's value: ", Language)
}

Saída:

o valor de a é:  30
Language's value: Go Language Basic Tutorial

declarar várias variáveis usando o operador de declaração curta (:=)

o operador de declaração curta também pode ser usado para declarar várias variáveis em uma única declaraçãodo mesmo tipo ou de tipos diferentesvárias variáveis. O tipo dessas variáveis é determinado por:=a avaliação da expressão à direita do operador.

package main
import "fmt"
func main() {
    //várias variáveis do mesmo tipo (int)
    w3codebox1, w3codebox2, w3codebox3 := 117, 7834, 5685
    //vários tipos de variáveis diferentes
    w3codebox4, w3codebox5, w3codebox6 := "GFG", 859.24, 1234
    //mostrar o valor e o tipo da variável
    fmt.Printf("w3codebox1 o valor é : %d\n", w3codebox1)}
    fmt.Printf("w3codebox1 o tipo é : %T\n", w3codebox1)}
    fmt.Printf("\nw3codebox2 o valor é : %d\n", w3codebox2)}
    fmt.Printf("w3codebox2 o tipo é : %T\n", w3codebox2)}
    fmt.Printf("\nw3codebox3 o valor é : %d\n", w3codebox3)}
    fmt.Printf("w3codebox3 o tipo é : %T\n", w3codebox3)}
    fmt.Printf("\nw3codebox4 o valor é : %s\n", w3codebox4)}
    fmt.Printf("w3codebox4 o tipo é : %T\n", w3codebox4)}
    fmt.Printf("\nw3codebox5 o valor é : %f\n", w3codebox5)}
    fmt.Printf("w3codebox5 o tipo é : %T\n", w3codebox5)}
    fmt.Printf("\nw3codebox6 o valor é : %d\n", w3codebox6)}
    fmt.Printf("w3codebox6 o tipo é : %T\n", w3codebox6)}
}

Saída:

w3codebox1 o valor é : 117
w3codebox1 o tipo é : int
w3codebox2 o valor é : 7834
w3codebox2 o tipo é : int
w3codebox3 o valor é : 5685
w3codebox3 o tipo é : int
w3codebox4 o valor é : GFG
w3codebox4 o tipo é : string
w3codebox5 o valor é : 859.240000
w3codebox5 o tipo é : float64
w3codebox6 o valor é : 1234
w3codebox6 o tipo é : int

:= declara uma variável local ou global?

usando o operador de declaração curta (:=),você pode declararapenas têm escopo de blocodas variáveis locais.Geralmente, as variáveis locais são declaradas dentro do bloco de função. Se tentar declarar uma variável global usando o operador de declaração curta (:=), será lançada uma mensagem de erro.

package main  
    
import "fmt"
    
//usar a palavra-chave var para declarar
//e inicializar a variável
//é uma variável do pacote, ou você pode dizer que é de escopo global
var w3codebox1 := 900  
    
//usar declarações de variáveis curtas
//ele lançará um erro
w3codebox2 := 200  
    
func main() {  
    
//no acesso ao w dentro da função3codebox1
fmt.Println(w3codebox1)}  
   
// no acesso ao w dentro da função3codebox2
fmt.Println(w3codebox2)}  
        
}

erro de saída:

.\test.go:12:1:erro de sintaxe: não-declaração de sentença fora do corpo da função
#.\test.go:12:1:erro de sintaxe: sentença não declarada fora do corpo da função
package main
import "fmt"
//declarar uma variável global usando var
var w3codebox1 := 900
func main() {
    //usar declarações de variáveis curtas
    //dentro da função principal
    //ele possui escopo local, ou seja, não pode
    //no exterior da função principal
    w3codebox2 := 200
    //no acesso ao w dentro da função3codebox1
    fmt.Println(w3codebox1)}
    //no acesso ao w dentro da função3codebox2
    fmt.Println(w3codebox2)}
}

Saída:

900
200