如何在 Golang 字串中檢查指定的 rune?


在 Go 中,字串是 Unicode 字元的序列。字串中的每個字元都由一個 Unicode 程式碼點表示,Unicode 程式碼點是 Unicode 標準中分配給每個字元的唯一整數。Go 中的 rune 只是 int32 型別的別名,用於表示 Unicode 程式碼點。在本文中,我們將討論如何在 Golang 字串中檢查指定的 rune。

在 Golang 字串中檢查指定的 rune 相對簡單。我們可以使用 strings.IndexRune 函式來檢查給定字串中是否存在特定 rune。

以下是 strings.IndexRune 函式的語法:

func IndexRune(s string, r rune) int

IndexRune 函式接受兩個引數:s 和 r。s 是我們要在其中搜索指定 rune 的字串,r 是我們要查詢的 rune。

該函式返回給定字串中指定 rune 的第一次出現的索引。如果在字串中找不到指定的 rune,則該函式返回 -1。

示例

以下是一個程式碼片段,用於演示 strings.IndexRune 函式的使用:

package main

import (
   "fmt"
   "strings"
)

func main() {
   s := "Hello, World!"
   r := 'l'

   index := strings.IndexRune(s, r)

   if index == -1 {
      fmt.Printf("Rune '%c' not found in string '%s'\n", r, s)
   } else {
      fmt.Printf("Rune '%c' found at index %d in string '%s'\n", r, index, s)
   }
}

輸出

Rune 'l' found at index 2 in string 'Hello, World!'

在這個例子中,我們定義了一個字串 s 和一個 rune r,我們希望在字串中搜索它。然後,我們用這兩個引數呼叫 strings.IndexRune 函式,並將結果儲存在 index 變數中。

然後,我們檢查 index 的值是否為 -1,這表示在字串中沒有找到指定的 rune。如果是這種情況,我們將列印一條訊息,指示未找到該 rune。否則,我們將列印一條訊息,指示找到該 rune 的索引。

示例

這是另一個示例:

package main

import "fmt"

func runeExists(str string, r rune) bool {
   for _, c := range str {
      if c == r {
         return true
      }
   }
   return false
}

func main() {
   str := "hello, world!"
   r1 := 'o'
   r2 := 'z'
    
   if runeExists(str, r1) {
      fmt.Printf("The rune '%c' exists in the string '%s'\n", r1, str)
   } else {
      fmt.Printf("The rune '%c' does not exist in the string '%s'\n", r1, str)
   }
    
   if runeExists(str, r2) {
      fmt.Printf("The rune '%c' exists in the string '%s'\n", r2, str)
   } else {
      fmt.Printf("The rune '%c' does not exist in the string '%s'\n", r2, str)
   }
}

輸出

The rune 'o' exists in the string 'hello, world!'
The rune 'z' does not exist in the string 'hello, world!'

在這個例子中,我們定義了一個名為 runeExists() 的函式,它接受一個字串 str 和一個 rune r 作為輸入。然後,該函式迭代字串中的每個 rune,並將其與我們正在查詢的 rune 進行比較。如果找到匹配項,則該函式返回 true,否則返回 false。

在 main() 函式中,我們定義了一個字串 str 和兩個 rune 變數 r1 和 r2。然後,我們呼叫 runeExists() 函式來檢查 r1 和 r2 是否存在於字串 str 中。根據結果,我們列印一條訊息,指示該 rune 是否存在於字串中。

結論

使用 strings.IndexRune 函式在 Golang 字串中檢查指定的 rune 是一項簡單的任務。透過遵循本文中提供的語法和示例,您可以輕鬆地在任何 Golang 字串中檢查指定的 rune。

更新於: 2023年4月20日

714 次檢視

啟動你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.