كيفية التحقق من سلسلة فارغة في Go: أفضل الممارسات
مرحبًا بالجميع! لقد بدأت للتو في تعلم Go وواجهت مهمة تبدو بسيطة — التحقق من سلسلة فارغة. لكن كلما قرأت أكثر، زاد ارتباكي.
في Python، اعتدت كتابة `if not my_string:` وكان ذلك يعمل. في Go، أرى عدة خيارات:
1. `if len(str) == 0 { ... }`
2. `if str == "" { ... }`
3. استخدام `len(str) == 0`
أي من هذه الطرق صحيحة؟ هل هناك فرق في الأداء؟ هل توجد دالة مدمجة مثل `IsEmpty()`؟
إليك مثال من الكود الخاص بي، حيث أتحقق مما إذا كان المستخدم قد أدخل اسمًا:
```go
package main
import (
"bufio"
"fmt"
"os"
"strings"
)
func main() {
reader := bufio.NewReader(os.Stdin)
fmt.Print("أدخل اسمك: ")
name, _ := reader.ReadString('\n')
name = strings.TrimSpace(name)
// هنا لا أعرف أفضل طريقة للتحقق
if len(name) == 0 {
fmt.Println("الاسم لا يمكن أن يكون فارغًا!")
} else {
fmt.Printf("مرحبًا، %s!\n", name)
}
}
```