Go言語に文字が存在するかどうかを確認するにはどうすればよいですか?

WBOY
リリース: 2024-03-12 17:18:04
オリジナル
830 人が閲覧しました

Go言語に文字が存在するかどうかを確認するにはどうすればよいですか?

Go 言語に文字が存在するかどうかを確認するにはどうすればよいですか?

Go 言語では、文字列内に文字が存在するかどうかを確認することが一般的な要件です。場合によっては、後続の処理を続行する前に、文字列に特定の文字が存在することを確認する必要があります。この記事では、文字列内に文字が存在するかどうかを確認するいくつかの方法と、具体的なコード例を説明します。

方法 1: 文字列を走査する

最も簡単な方法は、文字列を走査し、文字ごとに比較することです。 range キーワードを使用して文字列を反復処理し、各文字をターゲット文字と比較し、ターゲット文字が見つかった場合は true を返し、それ以外の場合は false## を返します。 #。

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

func main() {
    str := "Hello, World!"
    char := 'o'
    exists := checkCharExists(str, char)
    fmt.Printf("字符'%c'是否存在于字符串'%s'中:%t
", char, str, exists)
}
ログイン後にコピー

方法 2: strings パッケージの Contains 関数を使用する

Go 言語の

strings パッケージには、文字列をチェックするための便利な関数 Contains が用意されています。文字列に別の部分文字列が含まれているかどうか。ターゲット文字を文字列に変換し、Contains 関数を使用して、ターゲット文字が元の文字列に存在するかどうかを確認できます。

import (
    "fmt"
    "strings"
)

func main() {
    str := "Hello, World!"
    char := 'o'
    exists := strings.ContainsRune(str, char)
    fmt.Printf("字符'%c'是否存在于字符串'%s'中:%t
", char, str, exists)
}
ログイン後にコピー

方法 3: bytes パッケージの IndexByte 関数を使用する

strings パッケージに加えて、Go 言語には bytes も提供されています。バイトスライス操作用のパッケージ。文字列をバイト スライスに変換し、IndexByte 関数を使用してバイト スライス内でターゲット文字の位置を見つけます。見つかった場合は、ターゲット文字が存在することを意味します。

import (
    "fmt"
    "bytes"
)

func checkCharExists(str string, char byte) bool {
    strBytes := []byte(str)
    index := bytes.IndexByte(strBytes, char)
    return index != -1
}

func main() {
    str := "Hello, World!"
    char := byte('o')
    exists := checkCharExists(str, char)
    fmt.Printf("字符'%c'是否存在于字符串'%s'中:%t
", char, str, exists)
}
ログイン後にコピー

上記の 3 つの方法により、Go 言語の文字列に文字が存在するかどうかを簡単に確認できます。特定のニーズとシナリオに応じて、キャラクターの存在または不在のチェックを処理する適切な方法を選択します。この記事がお役に立てば幸いです!

以上がGo言語に文字が存在するかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート