Hoja de ruta y lista de conceptos

Prioridades para el desarrollo futuro del track de Go


Este documento ofrece una visión general de los temas principales en los que probablemente se centrarán los colaboradores y mantenedores durante los próximos meses.

Vista general de los temas

  • Mejorar los ejercicios de conceptos existentes
  • Crear más ejercicios de conceptos (consulta la vista general del temario a continuación)
  • Definir las listas prerequisites y practices de todos los ejercicios de práctica (consulta la incidencia 1396)
  • Corregir los errores que quedan en el ejecutor de pruebas
  • Corregir y reactivar el analizador (por ejemplo, consulta la incidencia 16) y corregir otros errores
  • Terminar una versión buena y estable del representador y ponerlo en funcionamiento
  • Mejorar o añadir enfoques para los ejercicios
  • Sincronizar las pruebas con las especificaciones de los problemas

Vista general del temario

Conceptos que ya existen

  • basics
  • strings y strings-package
  • numbers (básicos) y arithmetic-operators
  • floating-point-numbers
  • booleans
  • comments
  • conditionals-if y comparison
  • conditionals-switch
  • structs
  • type-definitions
  • slices
  • iteration (bucle for)
  • functions (incluye varios valores devueltos)
  • maps
  • range-iteration
  • runes
  • pointers
  • methods
  • interfaces
  • errors
  • zero-values (incluye nil)
  • type-conversion
  • type-assertion
  • constants
  • string-formatting
  • packages (import/export)
  • time
  • variadic-functions (introduce ...)
  • randomness
  • regular-expressions
  • stringers

Posibles conceptos futuros

  • time-duration
  • integer-types
  • panic-recover
  • error-wrapping (errors.Is, errors.As)
  • bytes
  • bitwise-operators
  • goroutines
  • waitgroups
  • mutexes
  • channels y select
  • closures/anonymous-functions/higher-order-functions
  • JSON
  • defer
  • Buffer, io.Reader/io.Writer
  • typed-parameters (genéricos)
  • context
  • funciones auxiliares de tiempo (ticket, sleep, etc.)
  • reflection
  • unsafe
  • init
  • patrón de opciones funcionales
  • incrustación de archivos

Temas adicionales que podrían quedar fuera del alcance de los ejercicios de conceptos:

  • herramientas (go fmt, go vet, go doc, etc.)
  • escribir pruebas y ejemplos
  • benchmarking
  • profiling
  • go generate
  • opciones del compilador