Как 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 ...-1
Python, хотя это часто приводит к трудным для отладки ошибкам.panic: runtime error: index out of range
заprofiles[len(profiles)-1].UserId
, я думаю , длина среза составляет 0 так что это паникует?Немного менее элегантно, но также может сделать:
источник
sl[len(sl)-1:]
, но возвращает срез, содержащий последний элемент, а не только последний элемент. play.golang.org/p/kcThrqa-64c