ホームページ  >  記事  >  バックエンド開発  >  fmt.Sscanf 関数を使用して、文字列から書式設定されたデータを読み取り、それを複数の変数に割り当てます。

fmt.Sscanf 関数を使用して、文字列から書式設定されたデータを読み取り、それを複数の変数に割り当てます。

PHPz
PHPzオリジナル
2023-07-25 19:34:521486ブラウズ

fmt.Sscanf 関数を使用して、文字列から書式設定されたデータを読み取り、それを複数の変数に割り当てます

Go 言語では、fmt.Sscanf 関数を使用すると、文字列から指定された形式に従うことができます。データを取得し、読み取ったデータを対応する変数に代入します。これにより、文字列データを処理する際に非常に便利になります。この記事では、fmt.Sscanf 関数の使用方法を紹介し、読者がよりよく理解できるようにいくつかのサンプル コードを提供します。

まず、fmt.Sscanf 関数の基本的な使い方を見てみましょう。この関数の定義は次のとおりです。

func Sscanf(str string, format string, a ...interface{}) (n int, err error)

この関数では、str は解析される文字列、format は指定された形式、a は渡される変数です。この関数は、正常に解析されたパラメータの数 n と解析プロセス中のエラー err を返します。

ここで、「Tom 20 180.12」という文字列があるとします。そこから名前、年齢、身長を抽出し、それぞれ対応する変数に割り当てます。コードは次のとおりです:

package main

import (
    "fmt"
)

func main() {
    str := "Tom 20 180.12"
    var name string
    var age int
    var height float64

    n, err := fmt.Sscanf(str, "%s %d %f", &name, &age, &height)
    if err != nil {
        fmt.Printf("解析错误:%v
", err)
    }
    fmt.Printf("成功解析的参数数目:%d
", n)
    fmt.Printf("姓名:%s
", name)
    fmt.Printf("年龄:%d
", age)
    fmt.Printf("身高:%.2f
", height)
}

実行結果は次のとおりです:

成功解析的参数数目:3
姓名:Tom
年龄:20
身高:180.12

コードでは、指定された形式文字列 "%s %d %f" 名までの最初の文字列を読み取ります。変数に 2 番目の整数を age 変数に読み込み、3 番目の浮動小数点数を height 変数に読み込みます。 fmt.Printf 関数を使用すると、対応する結果を出力できます。

日付などのより複雑なデータを抽出したい場合は、いくつかの特殊文字を使用できます。一般的に使用されるフォーマット文字の一部を次に示します。

  • %d は整数を読み取ります。
  • %s は文字列を読み取ります。
  • %f は浮動小数点数を読み取ります
  • %t ブール値 (true/false) を読み取ります。
  • %v 任意のタイプの値を読み取ります。
  • %c 単一の文字を読み取ります。
  • %q バンドを読み取ります。引用符で囲まれた文字列

コード例:

package main

import (
    "fmt"
)

func main() {
    str := "2022-06-30"
    var year, month, day int

    n, err := fmt.Sscanf(str, "%d-%d-%d", &year, &month, &day)
    if err != nil {
        fmt.Printf("解析错误:%v
", err)
    }
    fmt.Printf("成功解析的参数数目:%d
", n)
    fmt.Printf("年:%d
", year)
    fmt.Printf("月:%d
", month)
    fmt.Printf("日:%d
", day)
}

実行結果は次のとおりです:

成功解析的参数数目:3
年:2022
月:6
日:30

fmt.Sscanf 関数を使用すると、文字列から簡単に読み取ることができます。それを複数の変数に代入します。このような機能は文字列データを操作する場合に非常に便利で、手動で文字列を解析する手間を省きます。同時に、指定されたフォーマット制御文字列を使用して、必要なデータをより柔軟に抽出することもできます。この記事のサンプル コードが、読者がこの関数をよりよく理解し、使用するのに役立つことを願っています。

以上がfmt.Sscanf 関数を使用して、文字列から書式設定されたデータを読み取り、それを複数の変数に割り当てます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。