Apa cara Go untuk mengekstraksi elemen terakhir dari slice?
var slice []int
slice = append(slice, 2)
slice = append(slice, 7)
slice[len(slice)-1:][0] // Retrieves the last element
Solusi di atas berfungsi, tetapi tampaknya aneh.
Apa cara Go untuk mengekstraksi elemen terakhir dari slice?
var slice []int
slice = append(slice, 2)
slice = append(slice, 7)
slice[len(slice)-1:][0] // Retrieves the last element
Solusi di atas berfungsi, tetapi tampaknya aneh.
Jawaban:
Untuk hanya membaca elemen terakhir dari sepotong:
sl[len(sl)-1]
Untuk menghapusnya:
sl = sl[:len(sl)-1]
Lihat halaman ini tentang trik irisan
-1
dari Python, meskipun sering menyebabkan kesalahan debug sulit.
panic: runtime error: index out of range
untuk profiles[len(profiles)-1].UserId
, saya kira panjang slice adalah 0 sehingga panik?
Agak kurang elegan tetapi juga bisa:
sl[len(sl)-1: len(sl)]
sl[len(sl)-1:]
, tapi itu mengembalikan sepotong yang mengandung elemen terakhir, bukan hanya elemen terakhir. play.golang.org/p/kcThrqa-64c
-1
indeks yang Python miliki ...