Ce face strconv.ParseBool
strconv.ParseBool(str) acceptă exact aceste texte: 1, t, T, TRUE, true, True pentru adevărat și 0, f, F, FALSE, false, False pentru fals. Orice altceva (inclusiv „da”, „yes” sau „tRuE”) dă eroare.
strconv.FormatBool(b) returnează "true" sau "false". Sunt folosite des pentru variabile de mediu și fișiere de configurare.
Parametri
| Parametru | Descriere |
|---|---|
str |
La ParseBool: textul de citit. |
b |
La FormatBool: valoarea de transformat. |
Ce returnează
ParseBool: valoarea și eroarea. FormatBool: textul.
Exemple
Exemplul 1: Valori de configurare
package main
import (
"fmt"
"strconv"
)
func main() {
for _, s := range []string{"true", "1", "F", "TRUE", "da", "yes", "tRuE"} {
b, err := strconv.ParseBool(s)
fmt.Printf("%-6q -> %-5t eroare: %v\n", s, b, err)
}
fmt.Println(strconv.FormatBool(10 > 3) + " și " + strconv.FormatBool(false))
}
Rezultat
"true" -> true eroare: <nil>
"1" -> true eroare: <nil>
"F" -> false eroare: <nil>
"TRUE" -> true eroare: <nil>
"da" -> false eroare: strconv.ParseBool: parsing "da": invalid syntax
"yes" -> false eroare: strconv.ParseBool: parsing "yes": invalid syntax
"tRuE" -> false eroare: strconv.ParseBool: parsing "tRuE": invalid syntax
true și false
Greșeli frecvente
- Te aștepți ca „da” sau „on” să fie acceptate. Nu sunt; dacă vrei să le accepți, verifică-le tu înainte (
switch strings.ToLower(s)). - Ignori eroarea: pentru un text necunoscut primești
false, ceea ce poate dezactiva tăcut o opțiune.
Comenzi înrudite
strconv.Atoi: Atoi transformă un text în număr întreg (int) și returnează eroare dacă nu se poate; Itoa face invers.strconv.AppendInt: Adaugă un număr sau un bool, scris ca text, la sfârșitul unui []byte, fără să creeze un text intermediar.