Ejercicio de mecanografía: Programación en lenguaje Go

cerrar y empezar a escribir

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.

Aprendamos más sobre el lenguaje Go y la mecanografia al programar en 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.