ホームページ  >  記事  >  バックエンド開発  >  golang の書式設定プレースホルダーとは何ですか?

golang の書式設定プレースホルダーとは何ですか?

青灯夜游
青灯夜游オリジナル
2023-01-12 11:42:362509ブラウズ

go 形式のプレースホルダーは次のように分類できます: 1. "%v"、"% v"、"%#v"、"%T" などを含む通常のプレースホルダー; 2. ブール型プレースホルダー プレースホルダー " %t"; 3. 整数のプレースホルダ(「%b」、「%c」、「%d」、「%o」など)。 4. 浮動小数点および複素数のプレースホルダ(「%b」、「」など) %e"、"%E"、"%f" など; 5. 文字列およびバイト スライスのプレースホルダ ("%s"、"%q"、"%x" など); 6. ポインタ プレースホルダ "% p"; 7. 「 」、「-」、「#」などのその他のマーク。

golang の書式設定プレースホルダーとは何ですか?

このチュートリアルの動作環境: Windows 7 システム、GO バージョン 1.18、Dell G3 コンピューター。

Golang では、書式設定された入力と出力には、書式設定されたプレースホルダーを使用する必要があります。たとえば、ユーザーが入力したデータを取得する関数 fmt.Scanf() や、出力をフォーマットする関数 fmt.Printf() などです。

Go 言語の書式設定プレースホルダーは、通常のプレースホルダー、ブール型のプレースホルダー、整数のプレースホルダー、浮動小数点と複素数のプレースホルダー、文字列とバイト スライスのプレースホルダー、ポインター、プレースホルダー、その他のマーカーなどに大別できます。

通常のプレースホルダー

##% v構造体を印刷するとき、フィールド名が追加されますPrintf("% v ”, webSite){Name:HaiCoder}%#v対応する値の Go 構文表現Printf( " #v", webSite)main.WebSite{Name:"HaiCoder"}%T対応する型の Go 構文value を表します Printf("%T", webSite)main.WebSite%% リテラルのパーセンテージ数値、値のプレースホルダーではありませんPrintf("%%")%
プレースホルダー 説明 出力
%v 対応する値のデフォルト形式 Printf("%v", webSite ) {HaiCoder}

ブール型プレースホルダー

プレースホルダー説明例出力%ttrue または falsePrintf("%t", true)true

整数プレースホルダー

プレースホルダー説明例 出力#%b%c#対応する Unicode コード ポイントで表される文字Printf("%c", 0x4E2D)中 %d10 進表現Printf("%d", 0x12)18%o8 進数表現 #Printf("%d", 10)12%q 一重引用符文字リテラル、Go 構文で安全にエスケープ Printf("%q", 0x4E2D)' '%x16 進表現、文字形式は小文字の a-fPrintf("%x", 13)d%X16 進数表現、文字形式は大文字の A-FPrintf("%x", 13)D%UUnicode 形式: U 1234、「U X」と同等Printf("%U", 0x4E2D )U 4E2D浮動小数点数と複素数の構成要素 (実数部と虚数部)
バイナリ表現 Printf("%b", 5) 101

##プレースホルダー説明%b小数部を持たず、一貫した2の累乗の指数を使用した科学的表記法strconv.FormatFloat の「b」変換形式を使用します。例: -123456p-78 科学表記法、例: -1234.456e 78Printf("%e", 10.2)1.020000e 01%E科学的記法、たとえば - 1234.456E 78Printf("%e", 10.2)1.020000E 01#%f小数点あり、なしインデックス (例: 123.456Printf("%f", 10.2)10.200000#%gに従って %e を選択してください状況、または %f を使用してよりコンパクト (末尾の 0 なし) を生成します。 OutputPrintf("%g", 10.20)10.2% Gよりコンパクトな (末尾の 0 なし) を生成するには、必要に応じて %E または %f を選択します。OutputPrintf("%G", 10.20 2i)(10.2 2i)# ##################################

文字列とバイトのスライス

出力

##%e
%s出力文字列表現 (文字列型または [] バイト)Printf( "%s", [ ]byte("Go language"))Go 言語%q二重引用符で囲まれた文字列。Go 構文によって安全にエスケープされますPrintf("%q", "Go language")"Go language"%x16 進数、小文字、バイトあたり 2 文字Printf("%x", "golang")686a6c61164a%X16 進数、大文字、1 バイトあたり 2 文字Printf("%X", "golang")686F6A616C61
プレースホルダー 説明 出力
##ポインター

#プレースホルダー説明例出力%p16 進表現、プレフィックス 0xその他のタグ
Printf("%p", &people) 0x4a56a0

プレースホルダー

説明例出力常に値の正負の符号を出力します。%q (% q) の場合は、ASCII エンコードされた文字のみが出力されます。出力されることが保証されています。 Printf("% q", "中文") "\u4e2d\u6587"##-##左側ではなく右側にスペースを埋め込む (領域を左揃え) # 代替形式: 8 進数の場合は先頭の 0 (%#o) を追加し、16 進数の場合は先頭の 0x (%#x) または 0X (%#X) を追加し、%p (%#p) の場合は先頭の 0x を削除します。 , %q (%#q) は元の (つまり、バックティック マークで囲まれた) 文字列を出力します。それが印刷可能な文字の場合、%U (%#U) は文字の Unicode エンコードを書き出します (たとえば、文字 x は U 0078 'x') U 4E2D##Space) 数値の符号省略分のスペースを残す (% d) 文字列やスライスを 16 進数で出力する場合 (% x, % スペースは #0スペースの代わりに先頭の 0 をパディングします。数値の場合は、プラス記号とマイナス記号に到達した後のパディングを変更します。Go ビデオ チュートリアル]



Printf("%#U", '中')
' として印刷されます。 ' ## で区切る)

#[関連する推奨事項:
プログラミング教育

以上がgolang の書式設定プレースホルダーとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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