Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Go 1.10 Release Party @ Joinville Go Meetup

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

Go 1.10 Release Party @ Joinville Go Meetup

Slides about Go 1.10 from my presentation at the Joinville Go Meetup on Feb 2018

Carlos Alexandro Becker

February 27, 2018

Transcript

34 slides
  1. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 1/34 Go 1.10 Release

    Party Joinville Go Meetup 27 February 2018 Carlos Alexandro Becker
  2. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 2/34 Licença e Materiais

    Creative Commons Attribution-ShareAlike 4.0 International licence (https://creativecommons.org/licenses/by-sa/4.0/) Sinta-se encorajado a reutilizar, transformar ou construir usando esse material como base, desde que você utilize a mesma licença. Essa apresentação é baseada na apresentação (https://github.com/dlsniper/talks/tree/master/2018/go-1.10-release-party) do Florin Pățan (https://github.com/dlsniper) no Go London Meetup. 2
  3. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 4/34 Go 1.10 Go

    1.10 foi lançado! Anúncio (https://blog.golang.org/go1.10) Go 1.10 é a 11a release do Go 1. Notas da versão (http://golang.org/doc/go1.10) 4
  4. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 5/34 O que mudou?

    Vamos cobrir os seguintes pontos: Mudanças na linguagem Ports e SOs Performance Compilador e Ferramentas Biblioteca Padrão Comunidade 5
  5. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 9/34 Ports e SOs

    Nenhum port novo, mas... Não suporta mais FreeBSD < 10.3 Última release a funcionar no OpenBSD 6.0 Última release a suportar macOS < 10.10 (yosemite) Última release a suportar Windows XP e Vista Go agora funciona novamente no NetBSD, mas requer o ainda-não-lançado NetBSD 8 e GOARCH amd64 ou 386 Nova env GOMIPS para MIPS 32-bits 9
  6. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 20/34 Compilador e Ferramentas

    - Cache go build e go test agora mantém cache! Isso signi ca que se você rodar go test várias vezes sem alterar o código do pacote ou de algum teste, o resultado da execução anterior vai ser exibido (com um cached no lado)! 20
  7. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 21/34 Compilador e Ferramentas

    go vet agora roda junto com go test parar ajudar a previnir alguns erros comuns. Agora é possível é possível usar a ag -coverpkg para medir a cobertura dos testes de multiplos pacotes: go test -coverpkg=./... -coverprofile cover.out ./... Temos também a ag -failfast pra parar os testes no primeiro erro ao invés de continuar executando. 21
  8. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 22/34 Compilador e Ferramentas

    Windows agora suporta c-shared archives (aka DLLs) macOS agora suporta Go plugins. Windows ainda não, veja a issue #19282 (https://github.com/golang/go/issues/19282) . 22
  9. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 23/34 Compilador e Ferramentas

    - gofmt Expressões de três índices em slices, em que algum dos índices contenha uma expressão complexa, agora são sempre formatadas como: slice[start+1 : stop : capacity] Métodos de uma linha em interfaces literais não são mais quebrados em múltiplas linhas: if c, ok := v.(interface { Close() error }); ok { } pode ser escrito como: if c, ok := v.(interface{ Close() error }); ok { } 23
  10. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 24/34 Compilador e Ferramentas

    - gofmt Se um literal composto conter apenas comentários, os comentários agora são indentados: var _ = []T{/* lone comment */} var _ = []T{ /* lone comment */ } se torna: var _ = []T{ /* lone comment */ } var _ = []T{ /* lone comment */ } Atenção: o gofmt não é coberto pelas mesmas garantias do Go 1 em si, cuidado ao usar ele em CI. 24
  11. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 25/34 Compilador e Ferramentas

    - go x go fix agora substitui os imports de golang.org/x/net/context para context, o que deve te ajudar a migrar seu código pra go 1.9+ go tool fix -r context your/package 25
  12. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 27/34 Biblioteca Padrão Nenhum

    pacote novo Novo tipo strings.Builder pra usar no lugar de bytes.Buffer em alguns momentos Unicode, emojis e etc Várias outras pequenas mudanças, veja a lista completa (https://golang.org/doc/go1.10#minor_library_changes) . 27
  13. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 29/34 Comunidade - Meetups

    http://go-meetups.appspot.com (http://go-meetups.appspot.com) 29
  14. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 30/34 Comunidade - Conferências

    sobre Go ou com trilhas sobre Go no Brasil em 2018: GopherCon Brasil 2018, 2018.gopherconbr.org (https://2018.gopherconbr.org) TDC Floripa, www.thedevelopersconference.com.br (http://www.thedevelopersconference.com.br) ? 30
  15. 5/9/2018 Go 1.10 Release Party http://127.0.0.1:3999/go110.slide#1 31/34 Comunidade - Recursos

    Lista de todas as conferências sobre Go: github.com/golang/go/wiki/Conferences (#ZgotmplZ) Lista de todos os Go meetups: go-meetups.appspot.com (https://go-meetups.appspot.com) Recursos para novos palestrantes: github.com/golang/go/wiki/NewSpeakers (https://github.com/golang/go/wiki/NewSpeakers) 31

More Decks by Carlos Alexandro Becker

Other Decks in Programming