İçeriğe geç

İlk Eleman Boş Kontrolsüz (ARCH5078)

Anahtar go.performance.first-or-default-null · Önem warning · Kategori performance

Filtrelenmiş bir slice’ın [0] elemanına uzunluk kontrolü yapmadan erişmek, sonuç boşsa panic’e yol açar. Erişimden önce boşluk kontrolü ekleyin.

func firstAdmin(users []User) User {
admins := filter(users, isAdmin)
return admins[0]
}
func firstAdmin(users []User) (User, bool) {
admins := filter(users, isAdmin)
if len(admins) == 0 {
return User{}, false
}
return admins[0], true
}

İlk elemana erişmeden önce len(...) == 0 kontrolü ekleyin.