Как Go может извлечь последний элемент среза?
var slice []int
slice = append(slice, 2)
slice = append(slice, 7)
slice[len(slice)-1:][0] // Retrieves the last element
Решение выше работает, но кажется неудобным.
Как Go может извлечь последний элемент среза?
var slice []int
slice = append(slice, 2)
slice = append(slice, 7)
slice[len(slice)-1:][0] // Retrieves the last element
Решение выше работает, но кажется неудобным.
Ответы:
Просто для чтения последнего элемента среза:
sl[len(sl)-1]
Для его удаления:
sl = sl[:len(sl)-1]
Смотрите эту страницу о хитростях срезов
-1
Python, хотя это часто приводит к трудным для отладки ошибкам.
panic: runtime error: index out of range
за profiles[len(profiles)-1].UserId
, я думаю , длина среза составляет 0 так что это паникует?
Немного менее элегантно, но также может сделать:
sl[len(sl)-1: len(sl)]
sl[len(sl)-1:]
, но возвращает срез, содержащий последний элемент, а не только последний элемент. play.golang.org/p/kcThrqa-64c
-1
индекс, который есть у Python ...