Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introdução a Go
Search
Elton Minetto
May 11, 2022
Programming
1
250
Introdução a Go
Nesta palestra faço uma introdução a linguagem Go
Elton Minetto
May 11, 2022
Tweet
Share
More Decks by Elton Minetto
See All by Elton Minetto
Criando Kubernetes Operators com o operator-sdk
eminetto
0
110
Developer productivity for fun and profit - Enterprise edition
eminetto
0
65
Criando Kubernetes Operators com o operator-sdk
eminetto
0
110
Developer productivity for fun and profit - Developer edition
eminetto
3
500
Observabilidade de APIs
eminetto
1
910
Reflexões sobre Design de Software
eminetto
1
460
Discussões sobre microsserviços
eminetto
0
100
Go, o que, por que e como?
eminetto
0
320
Dev Journey
eminetto
0
460
Other Decks in Programming
See All in Programming
Swift Updates - Learn Languages 2025
koher
2
470
もうちょっといいRubyプロファイラを作りたい (2025)
osyoyu
1
420
[FEConf 2025] 모노레포 절망편, 14개 레포로 부활하기까지 걸린 1년
mmmaxkim
0
1.6k
プロポーザル駆動学習 / Proposal-Driven Learning
mackey0225
2
1.2k
開発チーム・開発組織の設計改善スキルの向上
masuda220
PRO
20
11k
RDoc meets YARD
okuramasafumi
4
170
Namespace and Its Future
tagomoris
6
700
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
290
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
120
時間軸から考えるTerraformを使う理由と留意点
fufuhu
15
4.7k
Android端末で実現するオンデバイスLLM 2025
masayukisuda
1
130
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
6
2.3k
Featured
See All Featured
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.1k
Gamification - CAS2011
davidbonilla
81
5.4k
Building Adaptive Systems
keathley
43
2.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Rails Girls Zürich Keynote
gr2m
95
14k
Automating Front-end Workflow
addyosmani
1370
200k
Fireside Chat
paigeccino
39
3.6k
Art, The Web, and Tiny UX
lynnandtonic
302
21k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
BBQ
matthewcrist
89
9.8k
How to Ace a Technical Interview
jacobian
279
23k
Site-Speed That Sticks
csswizardry
10
810
Transcript
Introdução a Go
Elton Minetto ๏ Escrevo códigos, sou professor, palestrante, e escritor
๏ Escrevo no https://eltonminetto.dev e no twitter ๏ Sou Principal Software Engineer no PicPay
O que é?
Uma linguagem open source
None
Por que uma nova linguagem?
Muitos problemas com software em grande escala
Velocidade de compilação
Sistemas distribuídos Multicore
Objetivos
Semântica simples
Tipagem estática
Programação concorrente
Divertida!
TALK IS CHEAP, SHOW ME THE CODE!
Pacotes package main import ( "fmt" "math" ) func main()
{ fmt.Printf("Now you have %g problems.", math.Sqrt(7)) }
Resultados Múltiplos package main import "fmt" func swap(x, y string)
(string, string) { return y, x } func main() { a, b := swap("hello", "world") fmt.Println(a, b) }
Erros package main import "github.com/coderockr/nfe/transmitter" func main() { response, err
:= transmitter.transmit(nfe, xml) if err != nil { panic("Error ") //tratamento de erro qualquer } result, err := transmitter.saveData(response, xml) if err != nil { panic("Error ") //tratamento de erro qualquer } }
Goroutines package main import ( "fmt" "time" ) func say(s
string) { for i := 0; i < 5; i++ { time.Sleep(100 * time.Millisecond) fmt.Println(s) } } func main() { go say("world") say("hello") }
Canais package main import "fmt" func sum(s []int, c chan
int) { sum := 0 for _, v := range s { sum += v } c <- sum // send sum to c } func main() { s := []int{7, 2, 8, -9, 4, 0} c := make(chan int) go sum(s[:len(s)/2], c) go sum(s[len(s)/2:], c) x, y := <-c, <-c // receive from c fmt.Println(x, y, x+y) }
Cross Compilation GOOS=darwin GOARCH=amd64 go build gorotines.go GOOS=windows GOARCH=amd64 go
build gorotines.go GOOS=linux GOARCH=amd64 go build gorotines.go
OO via composição e não herança, biblioteca padrão poderosa, etc.
Quem está usando?
Google, Basecamp, Globo.com, Canonical, DigitalOcean, Dropbox, Github, Heroku, Medium, Docker,
MongoDB, Mozilla, Netflix, New Relic, New York Times, Resultados Digitais, Moip, Neoway, Walmart, Trybe, PicPay, etc https://github.com/golang/go/wiki/GoUsers
Aplicações
APIs
Microservices
IoT
Databases
CLIents
Material de estudo
Site oficial Tour Go, por onde começar? Livro: A Linguagem
de Programação Go Curso Desenvolvimento Web com Go Awesome Go
Contato
[email protected]
http://eltonminetto.dev http://twitter.com/eminetto