在 Golang 中檢查 Rune 是否為十進位制數字
Rune 是一個 Unicode 程式碼點,在 Go 中用作 int32 型別的別名。它常用於表示字串中的單個字元。我們有時需要確定 rune 是否表示十進位制數字。本文將介紹如何在 Go 中確定 rune 是否為十進位制數字。
使用 unicode.IsDigit() 函式
為了處理 Unicode 程式碼點,Go 有 unicode 包,其中包含函式。要確定特定的 rune 是否為十進位制數字,請使用此包的 IsDigit() 函式。
可以將 rune 作為引數傳遞給 IsDigit() 函式,該函式返回一個布林值,指示 rune 是否為十進位制數字。例如 -
示例
package main
import (
"fmt"
"unicode"
)
func main() {
r := '9'
if unicode.IsDigit(r) {
fmt.Printf("%c is a decimal digit\n", r)
} else {
fmt.Printf("%c is not a decimal digit\n", r)
}
}
在這個例子中,我們使用了 IsDigit() 函式來檢查 rune '9' 是否為十進位制數字。在這種情況下,IsDigit() 函式返回 true,因此輸出將為 -
輸出
9 is a decimal digit
類似地,我們可以使用 IsDigit() 函式檢查其他 rune 是否為十進位制數字。
將 Rune 轉換為字串並進行檢查
如果我們有一個 rune,我們想檢查它是否為十進位制數字,我們可以將其轉換為字串並檢查該字串是否只包含數字。我們可以使用 strconv.Itoa() 函式將 rune 轉換為字串,並使用 strings.ContainsAny() 函式檢查字串是否只包含數字。
示例
package main
import (
"fmt"
"strconv"
"strings"
)
func main() {
r := '5'
s := strconv.Itoa(int(r))
if strings.ContainsAny(s, "0123456789") {
fmt.Printf("%c is a decimal digit\n", r)
} else {
fmt.Printf("%c is not a decimal digit\n", r)
}
}
在這個例子中,我們使用 strconv.Itoa() 函式將 rune '5' 轉換為字串。然後,我們使用 strings.ContainsAny() 函式檢查字串是否只包含數字。如果字串包含任何指定的字元,則 ContainsAny() 函式返回 true,在本例中,這些字元是從 0 到 9 的數字。由於 '5' 是十進位制數字,因此輸出將為 -
輸出
5 is a decimal digit
結論
在 Go 中,我們可以使用 unicode.IsDigit() 函式來檢查給定的 rune 是否為十進位制數字。我們還可以使用 strconv.Itoa() 和 strings.ContainsAny() 函式將 rune 轉換為字串並檢查字串是否只包含數字。在使用 Go 處理文字和解析資料時,瞭解如何檢查 rune 是否為十進位制數字可能很有用。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP