SlideShare uma empresa Scribd logo
Hello!I am Abraão Állysson
Hello!
@AbraaoHonorio @AbraaoHonorio
Escopo da apresentação
1- Parte Teórica: Introdução:
○ História
○ Quando usar
○ Dicas
○ Recurso da linguagem
2- Parte Prática:
○ Mão na massa:
■ Exercício I
■ Exercício II
■ Exercício III
■ Exercício IV
■ Exercício V
■ Exercício ...
1.
Parte Teórica
Let’s start!
objetivo
× Introduzir os conceitos de programação
usando a linguagem GO
× Entender aonde aplicar GO
× Fazer Networking, promover comunidade GO
na UFPB
“Go is an open source
programming language that
makes it easy to build simple,
reliable, and efficient
software.”
É uma linguagem open
source criada em 2007
pelo Google, mais
especificamente por
caras como Robert
Griesemer, Rob Pike e Ken
Thompson.
O que é Go?
linguagens estáticas:
Possuem tipagem estática
Linguagens dinâmicas:
Possuem tipagem dinâmica.
E GO, o melhor dos dois
mundos?
GO é
Por que utilizar GO?
Por que utilizar GO no seu backend?
GO(fast)
GO é leve, em termos
de uso de memória,
Altamente escalável ,
desenhada para
trabalhar com
concorrência
E compila muito
rápido
Simples
Go possui sintaxe
intuitiva, tem
apenas 25 palavras
reservadas, possui
Garbage collection,
multiplataforma e
altamente escalável
Quem está usando
Go?
● Google
● Facebook
● Dropbox
● Twitter
● Uber
● Globo.com
Dica #1!
A dica mais importante,:
Sempre que for pesquisar sobre GO, use
GOLANG
Participe da comunidade Golang Brasil,
acessem: www.golangbr.org
Recurso da
linguagem
Recurso da
linguagem
Recurso da linguagem
Valores
● Numérico
● String
● Numérico
● Array
● Struct
● ...
Funcionalidades
● ; invisível
● Funções de
multi-retorno
● Não conseguir
compilar com
variáveis ou imports
não utilizados
● goroutines(tipagem
automática)
● Strings com funções
nativas
Tipos
● Primitivos
● Compostos
2.
Parte Prática
Let’s start! ;)
Hello Word!
package main
import "fmt"
func main() {
var nome string = "Abraao"
fmt.Println("Hello", nome)
}
Hello Word #2!
package main
import "fmt"
func main() {
var nome string = "Abraao"
fmt.Println("Hello", nome)
}
Hello Word #3!
package main
import "fmt"
func main() {
var nome string = "Abraao"
fmt.Println("Meu nome é", nome)
var matricula int= 11320000
fmt.Println("Minha matricula é", matricula)
}
Trabalhando com Números #1!
package main
import "fmt"
func main() {
var idade int = 17
fmt.Println("Minha idade é", idade)
var precoCafe float = 2.50
fmt.Println("preco do café é", precoCafe)
}
Trabalhando com Números #2!
package main
import "fmt"
func main() {
var idade int = 17
fmt.Println("Minha idade é", idade)
var precoCafe float = 2.50
fmt.Println("preco do café é", precoCafe)
}
Trabalhando com Números #2!
package main
import "fmt"
func main() {
var idade int = 17
fmt.Println("Minha idade é", idade)
var precoCafe float32 = 2.50
fmt.Println("preco do café é", precoCafe)
}
Trabalhando com Números #3!
package main
import "fmt"
func main() {
const pi = 3.14
fmt.Println("O número pi tem valor de", pi)
}
Trabalhando com Números #3!
package main
import "fmt"
func main() {
const pi = 3.14
fmt.Println("O número pi tem valor de", pi)
}
O valor da const
é imutável
Trabalhando com Pacotes #1 - MATH!
package main
import "fmt"
import "reflect"
func main() {
var nome = "Abraao Allysson"
var matricula = 11320000
var raizQuadrada = math.Sqrt(9)
fmt.Println("Olá sr.", nome, "sua matricula é", matricula)
fmt.Println("Este programa está na versão", versao)
fmt.Println("a raiz quadrada de 9 é", raizQuadrada)
}
Trabalhando com Pacotes #2 - reflect!
package main
import "fmt"
import "reflect"
func main() {
var nome = "Abraao Allysson"
var matricula = 11320000
var versao = 1.1
fmt.Println("Olá sr.", nome, "sua matricula é", matricula)
fmt.Println("Este programa está na versão", versao)
fmt.Println("O tipo da variável versão é", reflect.TypeOf(versao))
}
Entrada de dados #1!
package main
import "fmt"
func main() {
var nome = "Abraao Allysson"
var matricula = 11320000
var idade
fmt.Println("Olá sr.", nome, "sua matricula é", matricula)
fmt.Println("Qual sua idade? ")
fmt.Scanf("%d",&idade)
fmt.Println("sua idade é ", idade)
}
Dica #2!Declaração de variável
nome := "Abraao Allysson"
Não precisa declarar o var
C: Int i = 1;
GO: i :=1
Problema com estrutura condicionalNão possui () e as {} são sempre necessárias.
IF condição {
//sua lógica
//caso for verdadeira
}
else {
//sua lógica
//caso for falsa
}
Problema com estrutura
condicional #2!
Problema, verificar se o cliente tem dinheiro suficiente
para comprar o café
Problema de estrutura de
repetição #2!
Problema, verificar se o cliente tem dinheiro suficiente
para comprar o café
Problema com estrutura condicionalNão possui () e as {} são sempre necessárias.
switch comando {
case 1:
//sua lógica
case 2:
//sua lógica
default:
//lógica para entradas padrões
}
Problema de estrutura de
repetição #3!
Problema, verificar se o prato escolhido do cliente
encontra-se no cardápio
Dica #3!
Break?
Para quem vem de outras linguagens de
programação, pode estranhar o não uso do break,
ao final do código de cada caso do switch. No GO
não a necessidade do uso do break, o código será
executado e o switch será encerrado.
Problema com estrutura de repetiçãoNão possui () e as {} são sempre necessárias.
For comando {
//lógica vai se repetir
}
Problema de estrutura de
repetição #3!
Problema, somar o números de 0s a 100
Problema de estrutura de
repetição #3!
Problema, somar o números de 0 a 100
Dica #4!
Recomendo a leitura do artigo!
50 Shades of Go: Traps, Gotchas, and Common
Mistakes for New Golang Devs
ATENÇÃO
Como os códigos ficarão maiores daqui para frente não colocarei mais no slides, mas
Códigos estão no github, é só acessar o link: www.github.com/abraaohonorio/minicursoGO
Sorteio do livroSistema de sorteio feito em GO
THANKS!Alguma pergunta ?
Contato: @abraaohonorio & abraao.allyson@eng.ci.ufpb.br
referências
Referência técnica
https://imasters.com.br/linguagens/trabalhando-com-go-golang-
a-linguagem-do-google/?trace=1519021197
http://devs.cloudimmunity.com/gotchas-and-common-mistakes-i
n-go-golang/
Material para construção Slides
× Presentation template by SlidesCarnival
× Photographs by Startupstockphotos

Mais conteúdo relacionado

PDF
A Ética - Espinosa
PDF
Critica ao filme Uma Verdade Inconveniente
PPS
Prós e Contras da Tecnologia
PPTX
28483727 trabalho-sentado
PDF
Meditacoe - Marco Aurelio.pdf
DOCX
Reflexão - STC-7
PPTX
Amf physical science power point wilhelm conrad röntgen
PDF
Capitulo 12 filosofia
A Ética - Espinosa
Critica ao filme Uma Verdade Inconveniente
Prós e Contras da Tecnologia
28483727 trabalho-sentado
Meditacoe - Marco Aurelio.pdf
Reflexão - STC-7
Amf physical science power point wilhelm conrad röntgen
Capitulo 12 filosofia

Mais procurados (20)

PPTX
Movimentação manual de cargas
PPTX
FILOSOFIA DE KANT
PPT
Aula ergonomia 1
PPSX
TCC Plano de consultoria Hospitalar
PDF
Relatório de Estágio
PDF
Monografia - Projeto de elaboração de Laudo Técnico de Insalubridade e Pericu...
DOCX
Reflexão - CLC7
PPTX
S.T.C. 7 - O Universo
PDF
Ergonomia
DOCX
Questões de ergonomia
PPTX
Construção do Conhecimento
PDF
aprendizagens essenciais Area de Integracao.pdf
PDF
TCC Riscos Químicos
PPT
Módulo 01 1 ERGONOMIA
PPTX
Analise do filme Getúlio vs História da época
DOCX
Resumo o que é ciencia
PDF
Equipamentos e Sistemas Técnicos dr2
PPTX
Riscos ergonômicos (Call Center)
PPSX
Estrutura do Acto de Conhecer I
PPTX
Professora Vanúcia: René Descartes
Movimentação manual de cargas
FILOSOFIA DE KANT
Aula ergonomia 1
TCC Plano de consultoria Hospitalar
Relatório de Estágio
Monografia - Projeto de elaboração de Laudo Técnico de Insalubridade e Pericu...
Reflexão - CLC7
S.T.C. 7 - O Universo
Ergonomia
Questões de ergonomia
Construção do Conhecimento
aprendizagens essenciais Area de Integracao.pdf
TCC Riscos Químicos
Módulo 01 1 ERGONOMIA
Analise do filme Getúlio vs História da época
Resumo o que é ciencia
Equipamentos e Sistemas Técnicos dr2
Riscos ergonômicos (Call Center)
Estrutura do Acto de Conhecer I
Professora Vanúcia: René Descartes
Anúncio

Semelhante a Mini curso GOLANG (20)

PDF
Go Lang para desenvolvedores pragmáticos (parte 1)
PDF
PDF
Introdução à Linguagem de Programação GO
PDF
Linguagens de programação - Go
PDF
Introducao Google GO
PDF
Introdução a linguagem Go
PDF
Linguagem Go
PDF
Seminário sobre GO
PDF
Introdução a Go
PDF
Introdução a linguagem Swift
PDF
Linguagem Go
PDF
O que é que o Java não tem?
PDF
Introdução a JavaScript
PDF
Introdução ao JavaScript
PDF
Swift em 45 minutos - TDC Sao Paulo 2014
PDF
Conhecendo Go
PDF
caelum-java-objetos-fj11.pdf
PDF
Clean Code Matters!
Go Lang para desenvolvedores pragmáticos (parte 1)
Introdução à Linguagem de Programação GO
Linguagens de programação - Go
Introducao Google GO
Introdução a linguagem Go
Linguagem Go
Seminário sobre GO
Introdução a Go
Introdução a linguagem Swift
Linguagem Go
O que é que o Java não tem?
Introdução a JavaScript
Introdução ao JavaScript
Swift em 45 minutos - TDC Sao Paulo 2014
Conhecendo Go
caelum-java-objetos-fj11.pdf
Clean Code Matters!
Anúncio

Último (7)

DOC
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
PDF
Paper_A028_BR_Victor_Enrique_Cavero_Sori (1).pdf
PDF
Dos requisitos ao código: como criar código rastreável em PHP
PPTX
Mapeamento de Objeto para Tabela Relacional
PDF
apresentacao introducao computacao ead.pdf
PDF
Evolução em código: algoritmos genéticos com PHP
PPTX
Curso de Windows 11 resumido na prática.pptx
CODIGO PARA AUTOMATIZAR A JOGABILIDADE SUPER MARIO
Paper_A028_BR_Victor_Enrique_Cavero_Sori (1).pdf
Dos requisitos ao código: como criar código rastreável em PHP
Mapeamento de Objeto para Tabela Relacional
apresentacao introducao computacao ead.pdf
Evolução em código: algoritmos genéticos com PHP
Curso de Windows 11 resumido na prática.pptx

Mini curso GOLANG

  • 1. Hello!I am Abraão Állysson Hello! @AbraaoHonorio @AbraaoHonorio
  • 2. Escopo da apresentação 1- Parte Teórica: Introdução: ○ História ○ Quando usar ○ Dicas ○ Recurso da linguagem 2- Parte Prática: ○ Mão na massa: ■ Exercício I ■ Exercício II ■ Exercício III ■ Exercício IV ■ Exercício V ■ Exercício ...
  • 4. objetivo × Introduzir os conceitos de programação usando a linguagem GO × Entender aonde aplicar GO × Fazer Networking, promover comunidade GO na UFPB
  • 5. “Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.”
  • 6. É uma linguagem open source criada em 2007 pelo Google, mais especificamente por caras como Robert Griesemer, Rob Pike e Ken Thompson. O que é Go? linguagens estáticas: Possuem tipagem estática Linguagens dinâmicas: Possuem tipagem dinâmica. E GO, o melhor dos dois mundos?
  • 7. GO é Por que utilizar GO?
  • 8. Por que utilizar GO no seu backend? GO(fast) GO é leve, em termos de uso de memória, Altamente escalável , desenhada para trabalhar com concorrência E compila muito rápido Simples Go possui sintaxe intuitiva, tem apenas 25 palavras reservadas, possui Garbage collection, multiplataforma e altamente escalável Quem está usando Go? ● Google ● Facebook ● Dropbox ● Twitter ● Uber ● Globo.com
  • 9. Dica #1! A dica mais importante,: Sempre que for pesquisar sobre GO, use GOLANG Participe da comunidade Golang Brasil, acessem: www.golangbr.org
  • 11. Recurso da linguagem Valores ● Numérico ● String ● Numérico ● Array ● Struct ● ... Funcionalidades ● ; invisível ● Funções de multi-retorno ● Não conseguir compilar com variáveis ou imports não utilizados ● goroutines(tipagem automática) ● Strings com funções nativas Tipos ● Primitivos ● Compostos
  • 13. Hello Word! package main import "fmt" func main() { var nome string = "Abraao" fmt.Println("Hello", nome) }
  • 14. Hello Word #2! package main import "fmt" func main() { var nome string = "Abraao" fmt.Println("Hello", nome) }
  • 15. Hello Word #3! package main import "fmt" func main() { var nome string = "Abraao" fmt.Println("Meu nome é", nome) var matricula int= 11320000 fmt.Println("Minha matricula é", matricula) }
  • 16. Trabalhando com Números #1! package main import "fmt" func main() { var idade int = 17 fmt.Println("Minha idade é", idade) var precoCafe float = 2.50 fmt.Println("preco do café é", precoCafe) }
  • 17. Trabalhando com Números #2! package main import "fmt" func main() { var idade int = 17 fmt.Println("Minha idade é", idade) var precoCafe float = 2.50 fmt.Println("preco do café é", precoCafe) }
  • 18. Trabalhando com Números #2! package main import "fmt" func main() { var idade int = 17 fmt.Println("Minha idade é", idade) var precoCafe float32 = 2.50 fmt.Println("preco do café é", precoCafe) }
  • 19. Trabalhando com Números #3! package main import "fmt" func main() { const pi = 3.14 fmt.Println("O número pi tem valor de", pi) }
  • 20. Trabalhando com Números #3! package main import "fmt" func main() { const pi = 3.14 fmt.Println("O número pi tem valor de", pi) } O valor da const é imutável
  • 21. Trabalhando com Pacotes #1 - MATH! package main import "fmt" import "reflect" func main() { var nome = "Abraao Allysson" var matricula = 11320000 var raizQuadrada = math.Sqrt(9) fmt.Println("Olá sr.", nome, "sua matricula é", matricula) fmt.Println("Este programa está na versão", versao) fmt.Println("a raiz quadrada de 9 é", raizQuadrada) }
  • 22. Trabalhando com Pacotes #2 - reflect! package main import "fmt" import "reflect" func main() { var nome = "Abraao Allysson" var matricula = 11320000 var versao = 1.1 fmt.Println("Olá sr.", nome, "sua matricula é", matricula) fmt.Println("Este programa está na versão", versao) fmt.Println("O tipo da variável versão é", reflect.TypeOf(versao)) }
  • 23. Entrada de dados #1! package main import "fmt" func main() { var nome = "Abraao Allysson" var matricula = 11320000 var idade fmt.Println("Olá sr.", nome, "sua matricula é", matricula) fmt.Println("Qual sua idade? ") fmt.Scanf("%d",&idade) fmt.Println("sua idade é ", idade) }
  • 24. Dica #2!Declaração de variável nome := "Abraao Allysson" Não precisa declarar o var C: Int i = 1; GO: i :=1
  • 25. Problema com estrutura condicionalNão possui () e as {} são sempre necessárias. IF condição { //sua lógica //caso for verdadeira } else { //sua lógica //caso for falsa }
  • 26. Problema com estrutura condicional #2! Problema, verificar se o cliente tem dinheiro suficiente para comprar o café
  • 27. Problema de estrutura de repetição #2! Problema, verificar se o cliente tem dinheiro suficiente para comprar o café
  • 28. Problema com estrutura condicionalNão possui () e as {} são sempre necessárias. switch comando { case 1: //sua lógica case 2: //sua lógica default: //lógica para entradas padrões }
  • 29. Problema de estrutura de repetição #3! Problema, verificar se o prato escolhido do cliente encontra-se no cardápio
  • 30. Dica #3! Break? Para quem vem de outras linguagens de programação, pode estranhar o não uso do break, ao final do código de cada caso do switch. No GO não a necessidade do uso do break, o código será executado e o switch será encerrado.
  • 31. Problema com estrutura de repetiçãoNão possui () e as {} são sempre necessárias. For comando { //lógica vai se repetir }
  • 32. Problema de estrutura de repetição #3! Problema, somar o números de 0s a 100
  • 33. Problema de estrutura de repetição #3! Problema, somar o números de 0 a 100
  • 34. Dica #4! Recomendo a leitura do artigo! 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs
  • 35. ATENÇÃO Como os códigos ficarão maiores daqui para frente não colocarei mais no slides, mas Códigos estão no github, é só acessar o link: www.github.com/abraaohonorio/minicursoGO
  • 36. Sorteio do livroSistema de sorteio feito em GO
  • 37. THANKS!Alguma pergunta ? Contato: @abraaohonorio & abraao.allyson@eng.ci.ufpb.br