typestar

Conversiones en Go

Go convierte de forma explícita: nunca hay promoción implícita.

type Celsius float64

func conversions(text string) (int, string, Celsius, error) {
    big := 300
    asByte := byte(big % 256) // explícita, y da la vuelta

    parsed, err := strconv.Atoi(text)
    if err != nil {
        return 0, "", 0, fmt.Errorf("parse %q: %w", text, err)
    }

    formatted := strconv.FormatFloat(1.5, 'f', 2, 64)
    temperature := Celsius(float64(parsed))

    return int(asByte) + parsed, formatted, temperature, nil
}

Cómo funciona

  1. Una conversión numérica puede truncar en silencio, así que acótala antes.
  2. strconv convierte entre cadenas y números, con un error.
  3. Un tipo con nombre exige conversión aun cuando el tipo subyacente coincide.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
16
Caracteres a escribir
408
Tokens
101
Ritmo de tres estrellas
80 tpm

Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 76 segundos.

Escribe este fragmento

Paso 4 de 5 en Variables y tipos; paso 4 de 30 en Fundamentos del lenguaje.

← Anterior Siguiente →