ホームページ  >  記事  >  バックエンド開発  >  Fscanf と C のようなフィールドの省略

Fscanf と C のようなフィールドの省略

WBOY
WBOY転載
2024-02-12 16:18:051079ブラウズ

Fscanf 并像 C 中那样省略字段

質問内容

Cのように%*sフィールドを省略することは可能でしょうか?

var pid int
fmt.Fscanf(r, "%*s %d", &pid)

回避策

実際には、Go ではこれを行うことはできません (少なくとも Go 1.21.0 では)。

ソースコードは次を示します:

  • フォーマット文字列にはフィールドが省略された動詞はありません (C の %*s など)。実際、文字列の動詞は常に 単一の です。文字番号 ## (% s%v%q%X または %X)
  • Fscanf メソッド 反復 パラメータ (Fscanf 配列 a(r io.Reader ,フォーマット文字列、a...任意))。したがって、値を気にしない場合でも、a でパラメータを定義する必要があります 変数を定義したくない場合は、以下を使用できます:
  • リーリー
その他の代替手段

特定のケースでは、リーダー内の何かを解析するには、まずリーダーを文字列に読み取ります (例:

io.ReadAll

):

CB835C294C06824721603abd255bd78a 次に、strings.Split

メソッドまたは正規表現を使用します。例:

および

strings.Split
  1. リーリー
  2. 正規表現を使用します:
    リーリー
  1. 他にも方法があるかもしれませんが、これらで十分です。それが役立つことを願っています。

以上がFscanf と C のようなフィールドの省略の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。