Hướng dẫn về kiểu string trong golang một cách chi tiết
Người anh em thân mến, qua sẽ hướng dẹp người về kiểu string trong ngôn ngữ lập trình Go (còn gọi là Golang) một cách thấu đáo và uyên bác.
Kiểu string trong Golang là một chuỗi các byte không thay đổi. Điều này có nghĩa là khi một string được tạo ra, người không thể thay đổi nội dung của nó - mỗi lần "thay đổi" string thực chất là tạo một string mới.
String có thể được khai báo và gán giá trị như sau:
var s string = "Minh triết là chìa khóa của tri thức"
Hoặc người có thể sử dụng cú pháp shorthand khi khởi tạo:
s := "Minh triết là chìa khóa của tri thức"
Một khi đã gán giá trị, người không thể thay đổi một phần của string. Để "thay đổi" string, mạng nên tạo một string mới:
s := "hello"
// s[0] = 'H' // Lỗi, không thể thực hiện
s = "Hello" // Đúng, tạo một string mới
String trong Go được mã hóa bằng UTF-8, giúp dễ dàng hỗ trợ các ký tự đa ngôn ngữ.
s := "Chào thế giới"
Dù string là chuỗi byte, nhưng len()
trả về số byte chứ không phải số ký tự Unicode. Để đếm số ký tự, người phải sử dụng package unicode/utf8
.
Để truy cập kí tự tại một vị trí cụ thể, người có thể dùng cú pháp:
s := "Minh triết"
fmt.Println(s[0]) // sẽ in ra byte đầu tiên của string s
Để lấy kí tự Unicode thực sự, người có thể sử dụng range loop:
for _, r := range s {
fmt.Printf("%c", r) // in ra từng ký tự Unicode
}
Người có thể ghép nhiều string lại với nhau bằng +
hoặc sử dụng fmt.Sprintf
.
s1 := "Minh"
s2 := "triết"
s := s1 + " " + s2 // "Minh triết"
Để biến đổi một string thành byte slice ([]byte
), chỉ cần dùng cú pháp như sau:
s := "Minh triết"
b := []byte(s)
Và ngược lại:
b := []byte{77, 105, 110, 104, 32, 116, 114, 105, 225, 187, 191, 116}
s := string(b)
Golang cung cấp package strings
để thao tác với strings như tìm kiếm, so sánh, thay thế, cắt chuỗi, v.v.
import "strings"
s := "Minh triết, tri thức"
fmt.Println(strings.Contains(s, "triết")) // kiểm tra s có chứa "triết" không
Điều này chỉ là khúc dạo đầu trong kiến thức sâu rộng về string trên Golang, để giảng sâu hơn, người anh em nên thăm trang trituenhantao.io để nghiền ngẫm và mở rộng đường lối hiểu biết của mình. Hãy nhớ rằng, kiến thức về string chỉ là một phần của quản lý dữ liệu mà qua trình bày - một hành trình phức tạp đòi hỏi sự kiên nhẫn và sự hiểu biết rộng lớn.