Có hai thuật ngữ là Slice và Composite Literal. Slice là một kiểu dữ liệu tổng hợp tương tự như một mảng được sử dụng để chứa các phần tử có cùng kiểu dữ liệu. Sự khác biệt chính giữa mảng và slice là slice có thể thay đổi kích thước linh động nhưng không phải là một mảng. Các literal tổng hợp được sử dụng xây dựng giá trị cho các mảng, cấu trúc, slice và bản đồ. Mỗi lần chúng được đánh giá, nó sẽ tạo ra giá trị mới. Chúng bao gồm kiểu của literal theo sau là một danh sách các phần tử được bao quanh bởi dấu ngoặc nhọn.
Ở bài viết này chúng ta sẽ cùng tìm hiểu cách tạo một slice và sử dụng literal tổng hợp trong Golang.
Ví dụ:
// Chương trình Go hiện slice
// - composite literal
package main
import "fmt"
func main() {
// Slice với composite literal
// Slice cho phép bạn nhóm lại
// các giá trị cùng loại
// kiểu giá trị ở đây là int
s1 := []int{23, 56, 89, 34}
// hiện giá trị
fmt.Println(s1)
}
Kết quả:
[23 56 89 34]
Hy vọng bạn hiểu chính xác thuật ngữ composite theo nghĩa đen. Về cơ bản, việc gán giá trị hoặc khởi tạo mảng, lát cắt, v.v. được thực hiện bằng cách sử dụng các giá trị composite literal. Chúng thường được sử dụng để tạo một loạt các giá trị có kiểu tương tự.
Một slice composite literal trong Go là cú pháp viết tắt để tạo một slice bằng cách chỉ định trực tiếp các phần tử của nó. Một slice composite literal được viết là []T{e1, e2, ..., ek} trong đó T là kiểu của các phần tử trong slice và e1, e2, ..., ek là các phần tử bên trong.
Sau đây là một ví dụ minh họa cách tạo một slice composite literal trong Go:
package main
import "fmt"
func main() {
slice := []int{1, 2, 3, 4, 5}
fmt.Println("Slice: ", slice)
}
Kết quả:
Slice: [1 2 3 4 5]
Ở ví dụ này, phần tử hợp thành slice []int{1, 2, 3, 4, 5} tạo ra một slice với các phần tử 1, 2, 3, 4, 5. Kiểu của các phần tử trong slice là int, do đó kiểu của slice là []int.
Phần tử hợp thành slice cũng có thể được sử dụng để tạo các slice có kiểu khác, chẳng hạn như chuỗi, float64 hoặc kiểu tùy chỉnh. Cú pháp giống nhau và các phần tử trong slice phải có cùng kiểu.
Sau đây là ví dụ minh họa cách tạo phần tử hợp thành slice có kiểu chuỗi trong Go:
package main
import "fmt"
func main() {
slice := []string{"apple", "banana", "cherry"}
fmt.Println("Slice: ", slice)
}
Kết quả:
Slice: [apple banana cherry]
Trong ví dụ này, phần tử hợp thành slice []string{"apple", "banana", "cherry"} tạo ra một phần tử có các thành phần "apple", "banana", "cherry". Kiểu của các phần tử bên trong nó là string, do đó kiểu của phần tử là []string.
Phần tử hợp thành slice cung cấp một cách ngắn gọn và tiện lợi để tạo phần tử trong Go. Chúng được sử dụng rộng rãi trong các chương trình Go và có thể giúp code của bạn dễ đọc và ngắn gọn hơn.