Junior — Middle
Чӣ гуна дар забони барномасозӣ рӯйхати холӣ ё сифрро эҷод кардан мумкин аст?
sobes.tech AI
Ҷавоб аз AI
Дар забони Go, якхелаи холӣ ё сифрӣ метавонад ба чанд роҳ сохта шавад:
- Ҳангоми эълон кардани як слайс бе оғоз кардан — он
nilхоҳад буд:
var s []int // s == nil, len(s) == 0, cap(s) == 0
- Бо истифода аз ададии литралӣ як слайс холӣ сохтани:
s := []int{} // на nil, балки слайси холӣ бо дарозии 0
- Бо истифода аз функсияи
makeбо дарозии 0:
s := make([]int, 0) // слайси холӣ, на nil
Фарқ байни слайси nil ва слайси холӣ дар он аст, ки nil ба ёдгории тақсимнашударо ишора намекунад, дар ҳоле ки слайси холӣ дарозии 0 дорад, вале сохтораш тақсим шудааст.
Одатан, барои санҷидани холӣ будани слайс, кофист, ки len(s) == 0 -ро санҷед.