ホームページ >バックエンド開発 >Golang >`fmt.Println` の '%' に関する Go Vet 警告を抑制するにはどうすればよいですか?

`fmt.Println` の '%' に関する Go Vet 警告を抑制するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-04 04:33:13868ブラウズ

How Can I Suppress Go Vet Warnings About '%' in `fmt.Println`?

Println の % に対する Go Vet 警告を抑制する

Go で fmt.Println を使用する場合、 print ステートメント内の % 文字。この警告は、意図されていない可能性のある書式設定ディレクティブを vet が検出したときにトリガーされます。

たとえば、次のコード スニペットは警告を生成します。

package main

import (
    "fmt"
)

func main() {
    fmt.Println("%dude")
}

Go vet は次を発行します。 warning:

./prog.go:8:2: Println call has possible formatting directive %d

この警告に対処するには、% の使用目的と、% の解釈を区別することが重要です。フォーマットディレクティブ。目的の出力を維持しながらこの問題を回避するには、次のような方法があります。

  1. % の前にエスケープ文字 () を使用してパーセント記号をエスケープします。これにより、fmt.Println にパーセント記号を書式設定ディレクティブではなくリテラル文字として扱うように指示します。
fmt.Println(`%%dude`)
  1. パーセント記号には 16 進数のエスケープ コード (x25) を使用します。
fmt.Println("%\x25dude")
  1. 代わりに fmt.Printf を使用してくださいfmt.Println のフォーマット文字列を明示的に指定します。
fmt.Printf("%%%%dude\n")
  1. フォーマットされた文字列を変数に割り当て、fmt.Println を使用して変数を出力します。
s := `%%dude`
fmt.Println(s)

これらの代替手段のいずれかを採用すると、go vet をトリガーせずに意図した出力を生成できます。 警告。特定のユースケースに最も適したアプローチを使用することをお勧めします。

以上が`fmt.Println` の '%' に関する Go Vet 警告を抑制するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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