Câu hỏi phỏng vấn Go lang
Câu hỏi

Cách sao chép slicemap trong Go như thế nào?

Câu trả lời

Sao chép slice: Ta có thể dùng phương thức có sẵn copy() như sau:

go Copy
slice1 := []int{1, 2}
slice2 := []int{3, 4}
slice3 := slice1
copy(slice1, slice2)
fmt.Println(slice1, slice2, slice3)

Trong đoạn code trên, ta sao chép giá trị của slice2 vào slice1 và sử dụng slice3 để giữa một tham chiếu đến slice gốc để kiểm tra slice có được sao chép hay không. Kết quả sẽ là:

Copy
[3 4] [3 4] [3 4]

Nếu ta muốn sao chép slice mà không có nội dung, ta chỉ cần dùng toán tử = như code bên dưới:

go Copy
slice1 := []int{1, 2}
slice2 := []int{3, 4}
slice3 := slice1
slice1 = slice2
fmt.Println(slice1, slice2, slice3)

Kết quả là:

Copy
[3 4] [3 4] [1 2]

Sao chép map: Ta có thể sao chép một map bằng cách duyệt qua k...

middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Cách biểu diễn enums theo idiomatic trong Go là gì?

middle

Tại sao chúng ta lại muốn sử dụng một struct{} rỗng trong Go?

senior

Tại sao Go biên dịch nhanh?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào