01/10/2018, 17:10

Golang dấu 3 chấm ... trong append dùng để làm gì?

#TIL

Trong go, dấu ... có 2 ý nghĩa dùng để diễn tả số lượng biến chưa xác định của một hàm (ví dụ như append) và dùng để unpack (bung) các giá trị của một slice thành các biến của một hàm nhận nhiều biến

Ví dụ cụ thể, Sau khi chạy đoạn code sau

s := []int{0, 1, 1}
a := []int{2, 3, 5, 7, 11, 13}
s = append(s, a...)
fmt.Println(s)

Thì giá trị của s bây giờ là

[0 1 1 2 3 5 7 11 13]

Lý do là vì đoạn code s = append(s, a...) tương đương với

s = append(s, 2, 3, 5, 6, 11, 13)

Chạy thử: https://play.golang.org/p/lrpO0MhR-_G

Khang Việt viết 19:12 ngày 01/10/2018

em cũng thấy bên JavaScript có Spread Operator cũng giống như thế này

Bài liên quan
0