La mecanografia es importante en la programación. Eres más eficiente utilizando técnicas de escritura rápida para escribir código en el lenguaje de programación Go.
Programación en Go y mecanografia
Programar en Go y la mecanografía se relacionan de forma natural. Go tiene reglas de sintaxis estrictas y caracteres especiales que pueden ser difíciles de escribir con rapidez. En Go, un error en una llave o en un operador provoca inmediatamente un error de compilación.
¿Qué caracteriza la sintaxis de Go?
Go es un lenguaje compilado (ingl. compiled language) con estilo limpio y minimalista. El código siempre empieza con una declaración package
. Las importaciones se agrupan en bloques. Las funciones se declaran con func
y usan llaves {}
. La indentación no es opcional: Go fuerza el formato con go fmt
. No se escriben puntos y coma, pero el compilador los inserta al final de las líneas.
package main
import "fmt"
func main() {
fmt.Println("Hello, Go")
}
Caracteres importantes
En Go se usan constantemente llaves {}
, paréntesis ()
, corchetes []
, comillas "
y backticks `
, además del operador :=
y el operador de canal <-
.
Variables y declaraciones
Go distingue entre var
y :=
. Este último combina dos símbolos y es parte esencial de la escritura diaria en Go.
var count int = 10
message := "typed correctly"
Estructuras de control
Go usa if
, for
y switch
. No hay while
. Hay que prestar atención a ==
, !=
, <
, >
y ++
.
for i := 0; i < 5; i++ {
if i%2 == 0 {
fmt.Println("even")
}
}
Funciones y múltiples retornos
Las funciones pueden devolver varios valores. Esto significa más comas en listas de retorno y asignaciones.
func divide(a, b int) (int, error) {
if b == 0 {
return 0, fmt.Errorf("division by zero")
}
return a/b, nil
}
result, err := divide(10, 2)
Slices, maps y literales compuestos
Los corchetes []
y llaves {}
se ven mucho en Go. Los mapas usan dos puntos :
entre clave y valor.
nums := []int{1, 2, 3}
scores := map[string]int{"alice": 5, "bob": 7}
Structs y métodos
El tipo struct
agrupa datos. Los métodos requieren un receiver y se llaman con el punto .
.
type User struct {
Name string
}
func (u User) Greet() string {
return "Hello " + u.Name
}
u := User{Name: "A"}
fmt.Println(u.Greet())
Interfaces
Las interfaces se cumplen de forma implícita, sin palabra clave como implements
.
type Stringer interface {
String() string
}
Concurrencia y canales
El operador de canal <-
es característico de Go. Se usa para enviar ch <- valor
y recibir valor := <-ch
.
ch := make(chan int)
go func() { ch <- 42 }()
value := <-ch
Cadenas y runas
Go usa comillas dobles para cadenas normales, backticks para raw strings y comillas simples para runas.
text := "normal string"
raw := `path\to\file`
r := 'a'
Indentación y formato
Go impone un estilo único. El uso de llaves y saltos de línea debe ser exacto. Un error común es poner Enter
después de return
.
Resumen
En Go los caracteres claves son llaves {}
, paréntesis ()
, corchetes []
, el operador :=
y el operador de canal <-
. Dominarlos permite escribir Go con rapidez y precisión.