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
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
- 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
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
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
- 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
- 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
- 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
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
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
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