Roteiro e lista de conceitos

Prioridades para o desenvolvimento futuro da trilha de Go


Este documento apresenta uma visão geral dos principais tópicos nos quais os contribuidores e mantenedores provavelmente vão se concentrar nos próximos meses.

Visão geral dos tópicos

  • Melhorar os exercícios de conceito existentes
  • Criar exercícios de conceito adicionais (veja a visão geral do programa abaixo)
  • Definir as listas prerequisites e practices de todos os exercícios de prática (veja a Issue 1396)
  • Corrigir os bugs restantes do executor de testes
  • Corrigir e reativar o analisador (por exemplo, veja a Issue 16) e corrigir outros bugs
  • Concluir uma versão boa e estável do representador e colocá-lo no ar
  • Melhorar e adicionar abordagens para os exercícios
  • Sincronizar os testes com as especificações dos problemas

Visão geral do programa

Conceitos existentes

  • basics
  • strings e strings-package
  • numbers (básico) e arithmetic-operators
  • floating-point-numbers
  • booleans
  • comments
  • conditionals-if e comparison
  • conditionals-switch
  • structs
  • type-definitions
  • slices
  • iteration (laço for)
  • functions (incluindo múltiplos valores de retorno)
  • maps
  • range-iteration
  • runes
  • pointers
  • methods
  • interfaces
  • errors
  • zero-values (incluindo nil)
  • type-conversion
  • type-assertion
  • constants
  • string-formatting
  • packages (importação/exportação)
  • time
  • variadic-functions (introduz ...)
  • randomness
  • regular-expressions
  • stringers

Possíveis conceitos futuros

  • time-duration
  • integer-types
  • panic-recover
  • error-wrapping (errors.Is, errors.As)
  • bytes
  • bitwise-operators
  • goroutines
  • waitgroups
  • mutexes
  • channels e select
  • closures/anonymous-functions/higher-order-functions
  • JSON
  • defer
  • Buffer, io.Reader/io.Writer
  • typed-parameters (generics)
  • context
  • auxiliares de tempo (ticket, sleep etc.)
  • reflection
  • unsafe
  • init
  • padrão de opções funcionais
  • incorporação de arquivos

Outros tópicos que podem estar fora do escopo dos exercícios de conceito:

  • ferramentas (go fmt, go vet, go doc etc.)
  • escrever testes e exemplos
  • benchmarking
  • profiling
  • go generate
  • opções do compilador