في Go لا توجد دوال strings.HasPrefix و strings.HasSuffix؟ كيف أتحقق من بداية ونهاية السلسلة النصية؟
```html
مرحباً بالجميع! لقد بدأت للتو في تعلم Go بعد Python وواجهت مشكلة غير متوقعة. في Python اعتدت كتابة:
```python
if "hello world".startswith("hello"):
print("Начинается с hello")
```
أو:
```python
if "file.txt".endswith(".txt"):
print("Это текстовый файл")
```
لكن عندما حاولت فعل الشيء نفسه في Go، لم أجد طرقاً مدمجة `startswith` أو `endswith`. لقد بحثت في توثيق حزمة `strings` ووجدت فقط `Contains` و`TrimPrefix` و`TrimSuffix`، لكن لا شيء يشبه التحقق المباشر من بداية أو نهاية السلسلة.
أحتاج إلى كتابة محلل سجلات بسيط، حيث أتحقق مما إذا كان السطر يبدأ بـ `"[ERROR]"` أو ينتهي بـ `"CRITICAL"`. حتى الآن كتبت حلاً مؤقتاً:
```go
line := "[ERROR] something went wrong"
if len(line) >= 7 && line[:7] == "[ERROR]" {
fmt.Println("Это ошибка")
}
```
لكن هذا يبدو فظيعاً وغير موثوق. هل حقاً لا توجد في Go دوال مناسبة للتحقق من بداية ونهاية السلسلة؟ أم أنني أغفل شيئاً؟ أرجو الإفادة، كيف أتجاوز هذ
```