1. Conclusion
The official recommendation is to use: str != ""
2. Analysis
method | performance | recommend |
---|---|---|
str != “” | direct judgment | √ |
len(str) > 0 | additional calculation of string length | × |
3. Explanation
In Golang, to judge whether a string is empty, use str != "" and len(str) > 0 are both possible, there is no obvious difference between good and bad. However, according to the recommendations of the official Go documentation, str != "" should be preferred.
This is because the string in the Go language is an immutable byte array, and its underlying implementation is a pointer to the byte array and a length. Therefore, using str != "" can directly determine whether the length of the string is 0, without first calculating the length of the string.
In addition, the way of using str != "" is more in line with the idiomatic usage in Go language. In Go, it is common to use != and == to determine whether two values are equal or not. However, the method of using len(str) > 0 requires additional calculation of the length of the string, which increases unnecessary overhead.
To sum up, it is recommended to use str != "" first to determine whether the string is empty.