|
Primeiramente é preciso baixar e instalar o Go. Seguindo este artigo a linguagem é facilmente instalada.
package main import ( "fmt"; ) func main() { fmt.Printf("\n\nAlo Mundo\n\n"); }
Para compilar salve o arquivo com o nome alomundo.go e no terminal do Mac OS X faça:
6g alomundo.go 6l alomundo.6 ./6.out
//Pacote do arquivo principal package main //Importa os pacotes que serão utilizados import ( "fmt"; "os" ) func main() { //Go não permite que você declare uma variável e não use //Formas de declarar e atribuir nome := "João"; //Sem especificar o tipo var nome2 string = "Maria"; //Utilizando o var e especificando o tipo var nome3 = "Pedro"; //Utilizando o var sem espeificar o tipo //Imprimindo valores concatenados os.Stdout.WriteString(nome + " | " + nome2 + " | " + nome3 + "\n\n"); //Declarando e atribuindo várias variáveis var ( n1 = "Igor"; n2 = "Takenami"; ) //Imprimindo valores concatenados os.Stdout.WriteString("\n\n" + n1 + " | " + n2 + "\n\n"); //Imprimindo valores formatados. Necessário importar o package fmt pi := 3.14; fmt.Printf("Valor de PI: %f \n\n",pi); //%f informa o tipo de variável e a posição do string onde será impresso //Assim como em Java os strings são imutáveis em Go fruta := "Laranja"; //Declara a variável fruta e atribui "laranja" fruta2 := fruta; //Declara a variável fruta2 e atribui um novo string com o mesmo conteúdo da variável fruta fruta = "Nova Laranja"; //Atribui um novo string a fruta com o conteúdo "Nova Laranja". O string "Laranja" anterior fica sem referência os.Stdout.WriteString(fruta + " | " + fruta2 + "\n\n"); //Trabalhando com ponteiros var ponteiro_fruta *string = &fruta; //Cria um ponteiro para o string apontado pela variável fruta. O "*" identifica que é um ponteiro e logo após vem o seu tipo. O "&" indica que o que será armazenado no ponteiro será o endereço de memória para o qual a variável aponta *ponteiro_fruta = "Pera"; //Altera o conteúdo do endereço de memória da qual a variável aponta os.Stdout.WriteString(fruta + " | " + fruta2 + " | " + *ponteiro_fruta + "\n\n"); //Declarando um vetor de inteiros de 3 posições var vet1 [3]int; //Atribuindo valores ao vetor vet1[0] = 1; vet1[1] = 2; vet1[2] = 3; //Imprimindo o conteúdo do vetor for x:=0;x<len(vet1);x++{ fmt.Printf("%d\n",vet1[x]); } os.Stdout.WriteString("\n\n"); //Declarando e inicializando um vetor de inteiros de 3 posições vet2 := [3]int{1,2,3}; //Imprimindo o conteúdo do vetor for x:=0;x<len(vet2);x++{ fmt.Printf("%d\n",vet2[x]); } os.Stdout.WriteString("\n\n"); //Declarando um vetor sem informar o seu tamanho var vet3 []int; //Informando o tamanho do vetor vet3 = make([]int,3); //Atribuindo valores ao vetor vet3[0] = 1; vet3[1] = 2; vet3[2] = 3; //Imprimindo o conteúdo do vetor for x:=0;x<len(vet3);x++{ fmt.Printf("%d\n",vet3[x]); } os.Stdout.WriteString("\n\n"); //Chamando a função soma fmt.Printf("Resultado: %d\n",soma(4,6)); } //Declarando uma função no arquivo principal func soma(val1 int, val2 int) int { s := val1+val2; return s }