Welche Methode ist am besten (am idiomatischsten) für das Testen von nicht leeren Zeichenketten (in Go)?
if len(mystring) > 0 { }
Oder:
if mystring != "" { }
Oder etwas anderes?
Welche Methode ist am besten (am idiomatischsten) für das Testen von nicht leeren Zeichenketten (in Go)?
if len(mystring) > 0 { }
Oder:
if mystring != "" { }
Oder etwas anderes?
Ich denke, der beste Weg ist, mit einem leeren String zu vergleichen
BenchmarkStringCheck1 überprüft mit einem leeren String
BenchmarkStringCheck2 überprüft mit der Länge null
Ich überprüfe mit dem leeren und nicht leeren String. Sie können sehen, dass Überprüfen mit einem leeren String schneller ist.
BenchmarkStringCheck1-4 2000000000 0.29 ns/op 0 B/op 0 allocs/op
BenchmarkStringCheck1-4 2000000000 0.30 ns/op 0 B/op 0 allocs/op
BenchmarkStringCheck2-4 2000000000 0.30 ns/op 0 B/op 0 allocs/op
BenchmarkStringCheck2-4 2000000000 0.31 ns/op 0 B/op 0 allocs/op
Code
func BenchmarkStringCheck1(b *testing.B) {
s := "Hallo"
b.ResetTimer()
for n := 0; n < b.N; n++ {
if s == "" {
}
}
}
func BenchmarkStringCheck2(b *testing.B) {
s := "Hallo"
b.ResetTimer()
for n := 0; n < b.N; n++ {
if len(s) == 0 {
}
}
}
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.