No se pudo actualizar la configuración de mecanografía. Recarga la página para intentarlo de nuevo.
Ejercicio de mecanografía: Programación en lenguaje Go
Las reglas de cálculo de la precisión han cambiado. Este ejercicio vuelve a empezar desde el principio.
No se pudo confirmar que la sesión completada se haya guardado. Intenta guardarla de nuevo sin volver a escribir el texto.
Ejercicio de mecanografía: Programación en lenguaje Go
La mecanografía 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 mecanografía
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 puede provocar 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 pueden declararse por separado o agruparse en bloques. Las funciones se declaran con func y usan llaves {}. La indentación no delimita los bloques en Go; go fmt aplica un formato estándar. Los puntos y coma suelen omitirse en el código fuente, y el compilador los inserta en los saltos de línea según reglas concretas.
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
gofmt aplica un formato uniforme al código. El uso de llaves y saltos de línea debe ser exacto. Un error común es poner Enter entre return y el valor devuelto.
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.