Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan pemprosesan rentetan dalam Go?

Bagaimana untuk menggunakan pemprosesan rentetan dalam Go?

WBOY
WBOYasal
2023-05-11 16:21:38651semak imbas

Go, sebagai bahasa pengaturcaraan yang berkuasa, menyediakan banyak fungsi dan kaedah pemprosesan rentetan. Untuk kita menguasai pengetahuan ini dengan lebih baik, artikel ini akan memperkenalkan jenis rentetan dan fungsi pemprosesan rentetan asas dalam Go, termasuk penciptaan rentetan, penyambungan, pemotongan, perbandingan dan carian.

  1. Jenis rentetan

Dalam Go, jenis rentetan ditakrifkan sebagai jujukan aksara baca sahaja, taip rentetan. Nilai rentetan terdiri daripada jujukan aksara yang dilampirkan oleh sepasang petikan berganda, contohnya:

str := "Hello, world!"

String adalah baca sahaja dan kami tidak boleh mengubah suai aksara tertentu dalam rentetan. Anda boleh menukar nilai rentetan dengan menugaskannya semula, seperti:

str := "Hello, world!"
str = "Hello, Golang!"
  1. Penciptaan rentetan

Terdapat banyak cara untuk mencipta rentetan, seperti berikut. sebahagian daripadanya:

  • Pengisytiharan terus dan tugasan

Contohnya:

str := "Hello, world!"

Kaedah ini adalah kaedah yang paling mudah dan paling biasa digunakan. Perlu diingat bahawa dalam Go, aksara khas dalam rentetan petikan dua kali perlu diwakili oleh aksara melarikan diri, contohnya:

str := "This is a "quoted" string."
  • Gunakan tatasusunan aksara untuk mencipta

Mencipta rentetan melalui tatasusunan aksara juga merupakan cara yang boleh dilaksanakan, contohnya:

str := []byte{'H', 'e', 'l', 'l', 'o', ',', ' ', 'w', 'o', 'r', 'l', 'd', '!'}
str_1 := string(str)

Kod di atas mencipta tatasusunan aksara jenis bait dan menukarkannya kepada jenis rentetan. Perlu diingat bahawa dalam Go, rentetan dan tatasusunan aksara adalah dua jenis yang berbeza.

  • Buat menggunakan fmt.Sprintf

Kita boleh menggunakan fungsi fmt.Sprintf untuk mencipta rentetan, serupa dengan fungsi sprintf dalam bahasa C. Contohnya:

str := fmt.Sprintf("The value of x is %d", x)
  1. Penggabungan rentetan

Penggabungan rentetan boleh menggunakan pengendali "+", contohnya:

str1 := "Hello"
str2 := ", world!"
result := str1 + str2

atau gunakan fmt. Fungsi Sprintf, sebagai contoh:

str1 := "Hello"
str2 := ", world!"
result := fmt.Sprintf("%s%s", str1, str2)

Perlu diingatkan bahawa gabungan rentetan akan menghasilkan rentetan baharu Apabila terdapat banyak operasi, sejumlah besar rentetan sementara akan dijana, yang mungkin menjejaskan prestasi rentetan program.

  1. Pemotongan rentetan

Pemotongan rentetan boleh menggunakan fungsi Split dalam pakej rentetan, contohnya:

str := "apple,orange,peach"
slice := strings.Split(str, ",")

Kod di atas dipisahkan dengan simbol koma untuk memotong str tali menjadi kepingan.

  1. Perbandingan rentetan

Perbandingan rentetan boleh menggunakan operator "==" atau fungsi Equal dalam pakej rentetan, contohnya:

rreee

Kod di atas membandingkan kesamaan dua rentetan menggunakan operator "==" dan fungsi EqualFold dalam pakej rentetan.

Perlu diambil perhatian bahawa dalam Go, perbandingan rentetan adalah sensitif huruf besar-besaran Jika anda perlu tidak peka huruf besar-besaran, anda boleh menggunakan fungsi EqualFold dalam pakej rentetan.

  1. Cari rentetan

Go menyediakan berbilang fungsi untuk mencari rentetan, termasuk:

  • rentetan.Mengandungi: Penghakiman Sama ada rentetan mengandungi rentetan lain.
str1 := "Hello"
str2 := "world"
equal := (str1 == str2)
equal_1 := strings.EqualFold(str1, str2)
  • rentetan.Indeks: Cari kejadian pertama rentetan dalam rentetan lain.
str := "Hello, world!"
contains := strings.Contains(str, "world") // 返回true
  • rentetan.LastIndex: Cari kejadian terakhir rentetan dalam rentetan lain.
str := "Hello, world!"
index := strings.Index(str, "world") // 返回7
  • rentetan.HasPrefix: Tentukan sama ada rentetan bermula dengan rentetan lain.
str := "Hello, world!"
index := strings.LastIndex(str, "o") // 返回8
  • rentetan.HasSuffix: Tentukan sama ada rentetan berakhir dengan rentetan lain.
str := "Hello, world!"
hasPrefix := strings.HasPrefix(str, "Hello") // 返回true

Ringkasan

Artikel ini memperkenalkan fungsi dan kaedah pemprosesan rentetan asas dalam pembangunan sebenar, kami akan menggunakan lebih banyak operasi rentetan, seperti penggantian, penukaran Tulis saiz, output format dan lebih. Pembaca yang memerlukan pemahaman yang mendalam boleh merujuk kepada dokumentasi rasmi dan kod contoh untuk pembelajaran lanjut.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan pemprosesan rentetan dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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