Variáveis e Constantes


Go possui tipagem estática para as variáveis,significa que a variável sempre terá um tipo e não poderá mudar.Não é necessário definir o tipo se ela conter um valor inicial.
Os tipos são:

bool
string
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte // pseudônimo para uint8
rune // pseudônimo para int32 representa um ponto de código Unicode
float32 float64
complex64 complex128

Para os números temos os operadores :

  • + Adição
  • - Subtração
  • * Multiplicação
  • / Divisão
  • % Resto da divisão

Para Strings temos o "+" para concatenar strings,e para os boleanos temos:

  • && and
  • || or
  • ! not

Para criar uma variável usamos a palavra reservada var listo alguns exemplos:

Variáveis simples
ex.: var idade int var nome string
Se as variáveis tiverem o mesmo tipo:
ex.: var x,y,z int
Variáveis podem começar com valor
ex.: var nome,idade,trabalhando "Renato Suero", 28, true
Dentro de uma função pode-se utilizar a atribuição curta ":=" substituindo o var
ex.: nome := "Renato Suero"
Importante dizer que podemos criar vetores ,vou mostrar como se cria,falarei deles em outro post.
ex.: var valores []int e com valores iniciais var valores []int{2,3,5}

Constantes são declaradas como variáveis mas com a palavra chave const, elas podem ser strings,boleanas ou numéricas e não alteram seu valor

const Porta = 22

#Mão na Massa

Infelizmente não temos muita coisa legal para fazer agora,mas é fundamental entender como usar as variáveis.

package main
import "fmt"
const Pi = 3.14 ///criamos uma constante com o clássico PI :D
func main(){ var nome string var idade int
var ( // não detalhei acima,mas é uma forma de criar múltiplas variáveis
a = 5 b = 10 c = 15
)
fmt.Println(Pi)
nome = "Renato Suero"
fmt.Println(nome)
trabalhando := true
fmt.Println(trabalhando)
//// concatenando strings
profissao:= "Programador"
fmt.Println(nome + profissao)
//// Operações Matemáticas
fmt.Println(a + b)
fmt.Println(a * b)
fmt.Println(c % a)
//// Operadores Lógicos
fmt.Println(true && true)
fmt.Println(true && false)
fmt.Println(true || true)
fmt.Println(true || false)
fmt.Println(!true)
}