Как получить последний элемент среза (slice) в Go? Есть ли встроенная функция?
مرحباً! لقد بدأت للتو في تعلم Go بعد Python، وقد واجهت مشكلة مع الشرائح (slices). في Python اعتدت الحصول على آخر عنصر في القائمة من خلال `my_list[-1]`، لكن في Go هذا التركيب لا يعمل — حيث يُصدر المترجم خطأ "invalid slice index -1".
لقد جربت كتابة شيء مثل `arr[len(arr) - 1]`، لكنه يبدو مرهقاً، وبصراحة، لست متأكداً من أنه صحيح. على سبيل المثال، ماذا لو كانت الشريحة فارغة؟ كان لدي هذا الكود:
```go
package main
import "fmt"
func main() {
fruits := []string{"apple", "banana", "cherry"}
// كيف نحصل على "cherry"؟
fmt.Println(fruits[-1]) // خطأ!
fmt.Println(fruits[len(fruits)-1]) // هل يعمل؟
}
```
لكني أخشى أنه إذا كانت الشريحة فارغة، فإن `len(fruits) - 1` سيعطي -1، وسيتعطل البرنامج مع panic. هل يوجد في Go دالة مدمجة مثل `last()` أو أي طريقة اصطلاحية للحصول بأمان على آخر عنصر؟ أم يجب علي كتابة فحص لطول الشريحة في كل مرة؟ أرشدوني إلى الطريقة الصحيحة!