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
Bài liên quan
em cũng thấy bên JavaScript có Spread Operator cũng giống như thế này