#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