Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Conhecendo o Go

Nessa palestra ministrada no Google Developers São Paulo no auditório da 7COMm, conhecemos a Go, ou GoLang, linguagem criada pelo Google para suprir necessidades cada vez maiores por computação concorrente e velocidade de processamento.
by

Fernando Rychlewski

on 8 March 2016

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Conhecendo o Go

Trabalho em equipe pela velocidade
Conhecendo o Go
Como
Começar
https://golang.org/

https://play.golang.org/

https://go-tour-br.appspot.com/welcome/1
Como
Colaborar
https://golang.org/CONTRIBUTORS
Alternativas
Comparativos
Nosso
Primeiro Exemplo
package main

import "fmt"

func main() {
fmt.Println("Hello World")
}
Go e
Yeoman
Pq Go?
Programação Concorrente Nativa
Desempenho
Multi Plataforma
Feito Pelo Google
Open Source
Altamente escalável
Feito por programadores que vão usar
Compilado
Garbage Collector
Memory Safe
Simplista ao extremo, MESMO
Um Pouco
de História
2007 Go é criado por
Rob Pike
Ajudou a criar o Unix
Criou UTF-8
Ken Thompson
Ajudou a criar o Unix
Criou UTF-8
Linguagem B
Robert Griesemer
Ajudou a Criar o V8
2009
Go é lançado Mundialmente pelo Google

por Fernando Rychlewski
Cases
-Mais de 500.000.000 mensagens por dia
-Perl/AnyEvent
-Python/Twisted
- Scala x Java x Go
[CODELAB]
GO NÃO REINVENTA A BOLA(?)
Ser Go é:
C-Like
Sem Classes
Sem Heranças
Sem Overload de Métodos
Ponto-e-vírgula invisíveis
Strings e concatenação/comparação nativas
Sem Exceptions (adeus Try/Catch)
Funções Multi-Retorno
Sem conversões numéricas implícitas
Sem Ternários
Não conseguir compilar com variáveis ou imports não utilizados (!!!)
goroutines
Tipagem automática
2011: Pré-Go
2012-03: Go 1
2013-05: Go 1.1
2013-12: Go 1.2
2014-06: Go 1.3
2014-12: Go 1.4
2015-08: Go 1.5
2016-02: Go 1.6
Declarando
Variáveis
package main

import "fmt"

func main() {
var s := "Hello World"
fmt.Println(s)
}
Usando
Structs
package main
import "fmt"

type Car struct {
rodas int
lugares int
}

type Volks struct {
Car
}
func main() {
car := Car{rodas: 4, lugares: 3}
meuFuca := Volks{Car: car}
fmt.Println(meuFuca.rodas)
fmt.Println(meuFuca.lugares)
}
output:
4
3
Usando Concorrência
package main
import "fmt"

func ComputarUmValor(c chan<- float64) {
c <- 2.3423 / 534.23423
}

func UsarGoroutine() float64 {
canal := make(chan float64)
go ComputarUmValor(canal)
// faça algo por um tempo, vá formatar um CPF, sei lá
return <- canal
}
func main() {
valor := UsarGoroutine()
fmt.Printf("Resultado foi: %v", valor)
}
https://go-tour-br.appspot.com/welcome/1
https://github.com/rayokota/generator-angular-go-martini
http://yeoman.io/generators/
https://github.com/go-martini/martini
https://golang.org/doc/codewalk/functions/
http://www.hostingadvice.com/blog/nodejs-vs-golang/
http://mrcook.uk/golang-vs-java-performance
https://robleshermoso.wordpress.com/2009/11/11/benchmark-a-golang/
Server REST
package main

import "github.com/go-martini/martini"

func main() {
m := martini.Classic()

m.Get("/", func() string {
return "Hello world!"
})

m.Run()
}
Mais de 850!!!
Mais de 16 anos em
análise e gestão;
Mais de 16 anos em
criação e design (Hobbie);
Motoqueiro
Rapeleiro
Nerd
http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/?updated
Macetes
Full transcript