Comment faire pour convertir un bool pour une chaîne de caractères dans le jeu de Go?
Je suis en train de convertir un bool appelé isExist à un string (true ou false) à l'aide de string(isExist) mais il ne fonctionne pas. Qu'est-ce que le idiomatiques façon de le faire en Aller?
Noter que strconv.FormatBool(...) est considérablement plus vite que fmt.Sprintf(...) comme l'ont démontré les tests suivants:
func Benchmark_StrconvFormatBool(b *testing.B){for i :=0; i < b.N; i++{
strconv.FormatBool(true)//=> "true"
strconv.FormatBool(false)//=> "false"}}
func Benchmark_FmtSprintfT(b *testing.B){for i :=0; i < b.N; i++{
fmt.Sprintf("%t",true)//=> "true"
fmt.Sprintf("%t",false)//=> "false"}}
func Benchmark_FmtSprintfV(b *testing.B){for i :=0; i < b.N; i++{
fmt.Sprintf("%v",true)//=> "true"
fmt.Sprintf("%v",false)//=> "false"}}
Exécuter en tant qu':
$ go test -bench=../boolstr_test.go
goos: darwin
goarch: amd64
Benchmark_StrconvFormatBool-820000000000.30 ns/op
Benchmark_FmtSprintfT-810000000130 ns/op
Benchmark_FmtSprintfV-810000000130 ns/op
PASS
ok command-line-arguments 3.531s
utiliser le strconv paquet
docs
strconv.FormatBool(v)
OriginalL'auteur Brrrr
vous pouvez utiliser
strconv.FormatBool
comme ceci:ou vous pouvez utiliser
fmt.Sprint
comme ceci:ou écrire comme
strconv.FormatBool
:OriginalL'auteur
Suffit d'utiliser
fmt.Sprintf("%v", isExist)
, comme vous le feriez pour presque tous les types d'.OriginalL'auteur akim
Les deux principales options sont:
strconv.FormatBool(bool) string
de l'esf.Sprintf(string, bool) string
avec le"%t"
ou"%v"
formateurs.Noter que
strconv.FormatBool(...)
est considérablement plus vite quefmt.Sprintf(...)
comme l'ont démontré les tests suivants:Exécuter en tant qu':
OriginalL'auteur maerics