Rumah > pembangunan bahagian belakang > Golang > Pemprosesan rentetan dan kemahiran penukaran pengekodan aksara bagi fungsi Golang

Pemprosesan rentetan dan kemahiran penukaran pengekodan aksara bagi fungsi Golang

PHPz
Lepaskan: 2023-05-18 14:30:22
asal
1088 orang telah melayarinya

Sebagai bahasa pengaturcaraan, Golang menyediakan pemprosesan rentetan yang sangat berkuasa dan kaya dan fungsi penukaran pengekodan aksara. Artikel ini akan memperkenalkan pemprosesan rentetan dan teknik penukaran pengekodan aksara yang biasa digunakan dalam fungsi Golang untuk membantu pembaca memahami dan menggunakan Golang dengan lebih baik.

1. Pemprosesan rentetan

  1. Sambungan rentetan

Di Golang, anda boleh menggunakan simbol "+" untuk menyambung rentetan yang berbeza, contohnya :

str1 := "Hello"
str2 := "World"
str3 := str1 + " " + str2
fmt.Println(str3) //输出 "Hello World"
Salin selepas log masuk

Selain itu, anda juga boleh menggunakan fungsi "fmt.Sprintf" untuk menukar pembolehubah jenis data yang berbeza kepada rentetan dan menyambungkannya, contohnya:

num := 10
str := fmt.Sprintf("Number is %d", num)
fmt.Println(str) //输出 "Number is 10"
Salin selepas log masuk
  1. Pemintasan rentetan Dan penyambungan

menggunakan penghirisan rentetan Golang untuk mendapatkan subrentetan, dengan itu merealisasikan fungsi pemintasan rentetan. Contohnya:

str := "Hello World"
substr := str[0:5]
fmt.Println(substr) //输出 "Hello"
Salin selepas log masuk

Selain itu, anda juga boleh menggunakan fungsi "strings.Join" untuk menggabungkan berbilang rentetan menjadi satu rentetan, contohnya:

strs := []string{"Hello", "World"}
result := strings.Join(strs, " ")
fmt.Println(result) //输出 "Hello World"
Salin selepas log masuk
  1. String Find and Replace

Gunakan fungsi "strings.Index" Golang untuk mencari kedudukan subrentetan yang ditentukan dalam rentetan asal, contohnya:

str := "Hello World"
idx := strings.Index(str, "World")
fmt.Println(idx) //输出 6
Salin selepas log masuk

Jika anda ingin menggantikan subrentetan tertentu dalam rentetan dengan yang lain Untuk subrentetan, anda boleh menggunakan fungsi "strings.Replace", contohnya:

str := "Hello World"
newstr := strings.Replace(str, "World", "Golang", 1)
fmt.Println(newstr) //输出 "Hello Golang"
Salin selepas log masuk

Nota: Parameter terakhir fungsi "strings.Replace" menunjukkan bilangan penggantian Jika ditetapkan kepada -. 1, ia bermakna semua penggantian.

  1. Penukaran rentetan

Gunakan fungsi "strconv" Golang untuk menukar jenis data lain kepada jenis rentetan, contohnya:

num := 10
str := strconv.Itoa(num)
fmt.Println(str) //输出 "10"
Salin selepas log masuk

Untuk Untuk menukar rentetan kepada jenis data lain, anda boleh menggunakan siri fungsi "strconv.Parse", contohnya:

str := "10"
num, _ := strconv.Atoi(str)
fmt.Println(num) //输出 10
Salin selepas log masuk

Nota: fungsi "strconv.Atoi" mengembalikan dua nilai Untuk menggunakan data yang ditukar secara langsung, Anda perlu menggunakan "_" untuk mengabaikan nilai pulangan kedua.

2. Penukaran pengekodan aksara

Golang menyokong format pengekodan berbilang aksara, seperti UTF-8, GBK, dsb. Berikut akan memperkenalkan fungsi penukaran pengekodan aksara yang biasa digunakan dalam fungsi Golang.

  1. Penukaran pengekodan aksara

Gunakan pakej "unicode/utf8" dan pakej "bait" Golang untuk mencapai penukaran pengekodan aksara. Sebagai contoh, tukar rentetan yang dikodkan UTF-8 kepada pengekodan GBK:

str := "你好,世界"
newstr, _ := ioutil.ReadAll(transform.NewReader(bytes.NewReader([]byte(str)), simplifiedchinese.GBK.NewEncoder()))
fmt.Println(newstr) //输出 "浣犲ソ£?涓枃"
Salin selepas log masuk

Nota: Fungsi penukaran pengekodan aksara mengembalikan dua nilai, yang pertama ialah rentetan baharu yang ditukar dan yang kedua ialah mesej ralat . Untuk menggunakan rentetan baharu yang ditukar secara langsung, anda perlu menggunakan "_" untuk mengabaikan nilai pulangan kedua.

  1. Penentuan pengekodan aksara

Gunakan pakej "unicode/utf8" Golang untuk menentukan sama ada pengekodan aksara rentetan tertentu mematuhi format tertentu. Contohnya:

str := "你好,世界"
isutf8 := utf8.Valid([]byte(str))
fmt.Println(isutf8) //输出 true
Salin selepas log masuk

Kod di atas menentukan sama ada pengekodan aksara rentetan yang ditentukan adalah dalam format UTF-8 Jika ya, ia mengembalikan "benar", jika tidak ia mengembalikan "salah".

  1. Penukar pengekodan aksara

Gunakan pakej "charset" Golang untuk menukar rentetan dengan pengekodan aksara yang berbeza kepada pengekodan UTF-8. Sebagai contoh, tukar rentetan berkod GB2312 kepada pengekodan UTF-8:

str := "你好,世界"
decoder := simplifiedchinese.GB18030.NewDecoder()
newstr, _ := decoder.String(str)
fmt.Println(newstr) //输出 "你好,世界"
Salin selepas log masuk

Nota: "penyahkod" penukar pengekodan aksara digunakan dalam kod di atas untuk menukar rentetan berkod GB2312 kepada pengekodan UTF-8.

Kesimpulan

Artikel ini memperkenalkan pemprosesan rentetan dan teknik penukaran pengekodan aksara yang biasa digunakan di Golang, termasuk sambungan rentetan, pemintasan, carian, penggantian, penukaran, serta penukaran pengekodan aksara, pertimbangan, dan Peranti penukaran dsb. Saya harap pembaca dapat lebih memahami dan menggunakan Golang melalui artikel ini.

Atas ialah kandungan terperinci Pemprosesan rentetan dan kemahiran penukaran pengekodan aksara bagi fungsi Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan