Go言語における20個のプレースホルダーのリスト
I. コンセプト
プレースホルダーとは何ですか?額面通りに受け取ればいいのです プレースホルダーには様々な種類があることを除けば プレースホルダーは誰のためでもなく 必須であり プログラムレベルでデータをフォーマットするために使われます。
第二に、どの機能が
での
Go
言語では、標準パッケージの
fmt
には、多くの書式付きユーティリティ関数があり、多くの場合、末尾が
f
と
は以下のように記載されています。
-
fmt.Printf
文字列を整形し、端末(標準出力)に出力する。 -
fmt.Sprintf
文字列をフォーマットして返します。 -
fmt.Sscanf
文字列からプレースホルダの位置に対応するデータをパースする。 -
fmt.Fscanf
からio.Reader
を入力し、ファイル、ターミナル(標準入力)を読み込むためのプレースホルダーの対応する位置のデータをパースします。 -
fmt.Fprintf
フォーマットされた文字列データをio.Writer
タイプで、ファイルに出力します。 -
fmt.Errorf
エラータイプのメッセージを作成するためのフォーマット方法。
この作品では、個々の機能にフォーカスするのではなく、単に列挙しているだけなので、わからないことは自分で調べるか、私に聞いてください。
今回の記事の焦点を見てみましょう・・・。
III. プレースホルダーの使用法
プレースホルダーを使用するには
%
という記法で簡単に表示することができます。
s := fmt.Sprintf("%s really handsome", "老苗")
fmt.Println(s)
// Output
Old Miao is really handsome
%s
マークして、"古い苗"文字列を%sの位置で埋めます。次に、実際にどんなプレースホルダーがあるのか見てみましょう。
IV. 一般的なプレースホルダー
まず印刷の対象となるデータを作成します。
type Example struct {
Content string
}
var data = Example{Content: "Example"}
1. %v、%+v、%#v
%v.
の実装がある場合、データの値を取得します。
error
インターフェイスを使用する場合、エラーメッセージのみが表示されます。
fmt.Printf("%v", data)
// Output
{example}
fmt.Printf("%v", errors.New("I was wrong"))
// Output
I was wrong
%+v. データの値を取得し、構造体であればフィールド名を伝える。
fmt.Printf("%+v", data)
// Output
{Content:example}
%#v. データの値を取得します。構造体であれば、構造体名とフィールド名を運びます。
fmt.Printf("%#v", data)
// Output
main.Example{Content:"Example"}
2. %T
データ型を取得する
fmt.Printf("%T", data)
// Output
main.Example
3. %%
文字通りのパーセント記号です。
fmt.Printf("%%")
// Output
%
V. ブール式プレースホルダー
%t
を true または false で指定します。
fmt.Printf("%t", true)
// Output
true
VI. 整数のプレースホルダー
1. %b
バイナリです。
fmt.Printf("%b", 4)
// Output
100
2. %c
Unicode
コードから文字へ
fmt.Printf("%c", 0x82d7)
// Output
seedling
3. %d, %5d, %-5d, %05d
10進数の整数表現。
fmt.Printf("%d,%d,%d", 10, 010, 0x10)
// Output
10,8,16
3つのデータ
10
10進数
, 010
8進数
0x10
16進数
プレースホルダは、最小の幅を指定することもできます。 を次のようなフォーマットで指定します。
%5d
%-5d
%05d
例
fmt.Printf("|%5d|%-5d|%05d|", 1, 1, 1)
// Output
| 1|1 |00001|
4. o, %#o
8進数表現
fmt.Printf("%o,%o,%o", 10, 010, 0x10)
// Output
12,10,20
多くの開発言語では、0から始まる数値は8進数で表現される。これは
%#o
プレフィックスに0を付けて出力します。
fmt.Printf("\n%#o\n", 10)
// Output
012
5. %q
と同じです。
%c
同様に、両方の
Unicode
のコードを文字に変換します。ただし、結果にはシングルクォートが多く含まれます。
fmt.Printf("%q", 0x82d7)
// Output
'seedling'
中国語の文字対応表です。 http://www.chi2ko.com/tool/CJK.htm
6. x, %#x
の16進数表現、小文字のa-fの文字形式。
%#x
0x 接頭辞付きで出力する。
fmt.Printf("%x, %#x", 13, 13)
// Output
d, 0xd
7. X, %#X
16進表示。小文字のA〜Fの字体で表現する。
%#X
出力は0Xから始まります。
fmt.Printf("%X, %#X", 13, 13)
// Output
D, 0XD
8. U、%#U
%U.
に翻訳してください。
Unicode
フォーマットの指定。
fmt.Printf("%U", 0x82d7)
// Output
U+82D7
%#U.
に変換されます。
Unicode
形式で、対応する文字を持ってくる。
fmt.Printf("%#U", 0x82d7)
// Output
U+82D7 'seedling'
VII. 浮動小数点数・複素数
1. %b
浮動小数点数を2の累乗に変換する科学的表記法。
fmt.Printf("%b", 0.1)
// Output
7205759403792794p-56
2. e, %E
10の累乗を表す科学的表記法。
fmt.Printf("%e", 10.2)
// Output
1.020000e+01
fmt.Printf("%E", 10.2)
// Output
1.020000E+01
Difference: %e and %E output case sensitive.
3. %f、%.2f
という浮動小数点数
%.2f
は小数点以下2桁を保持することを示し
%f
はデフォルトで小数点以下6桁を保持し
%f
と同じです。
%F
に相当します。
保持のルールがまだわかっていないんだ、丸め込みと一致するときとしないときがあるから、降りてきて調べてお知らせしよう。
fmt.Printf("%f", 10.2)
// Output
10.200000
fmt.Printf("%.2f|%.2f", 10.232, 10.235)
// Output
10.23|10.23
また、以下のように最小幅を追加することも可能です。
-
%9.2f
最小幅は小数点以下9桁、精度は2です。 -
%9.f
または%9f
最小幅は9です。
4. g, %.3g
状況に応じて選択
%e
または
%f
が、末尾の0を削除したものです。
fの場合は以下のようになります。
fmt.Printf("%g|%g", 10.20, 1.200000+3.400000i)
// Output
10.2|(1.2+3.4i)
%e 状況は次のとおりです。
fmt.Printf("%g|%g", 2e2, 2E2)
// Output
200|200
%.3g
は、小数点以下3桁を維持する代わりに、3桁のみを維持することを示します。
fmt.Printf("%.3g", 12.34)
// Output
12.3
反省しています。 公式サイトでは%gと%Gの違いがありますが、私は同等と判断してテストしました、もしかしたら私のテストが間違っているかもしれません、公式ドキュメントには を次のようにします。
%g %e for large exponents, %f otherwise. Precision is discussed below.
%G %E for large exponents, %F otherwise
VIII. 文字列とバイトのスライシング
1. %s
文字列またはバイトのスライス
fmt.Printf("%s|%s", "老苗", []byte("嘿嘿嘿"))
// Output
Lao Miao|heyheyhey
2. %q
Go言語の安全なエスケープ、ダブルクオートラッピングを使用します。
fmt.Printf("%q", "老苗")
// Output
"老苗"
3. %x、%x
16進数で、%x 小文字 a - f、%x 大文字 A - F。
fmt.Printf("%x|%X", "seedling", "seedling")
// Output
e88b97|E88B97
IX. ポインタ
p, %#p
のアドレスを16進数で表したものです。
%p
を0xとする。
%#p
を使用しない場合。
num := 2
s := []int{1, 2}
fmt.Printf("%p|%p", &num, s)
// Output
0xc00000a1d0|0xc00000a1e0
X. その他のマークアップ
1. +
値のプラスとマイナスを表示します。
%+q
のみを出力します。
ASCII
にエンコードされた文字、または、ASCII エンコードされていない場合は
Unicode
エンコーディングで出力する。
fmt.Printf("%+d|%+d", 2, -2)
// Output
+2|-2
fmt.Printf("%+q|%+q", "miao","苗")
// Output
"miao"|"\u82d7"
2. -
右側をスペースで埋める、この作品は例ではなく、次のように使用します。
%-5d
と浮動小数点
%-9.2f
もサポートされています。また、他のプレースホルダーも用意されているので、興味のある方は試してみてください。
3.
- 上記の例のように、8進数に先頭の0を追加する。
- 上記のように、16進数に先頭の0xまたは0Xを追加します。
-
に先頭の0xまたは0Xを追加します。
%#p
0xを削除する。 -
%+q
文字列の印刷時にバッククオートラッピングを使用します。
fmt.Printf("%#q", "苗")
// Output
`Miao`
%#U
上記の例のように、文字でコードを印刷します。
4. ' スペース
プラスとマイナスの記号のために、空白を残してください。
fmt.Printf("|% d|", 2)
// Output
| 2|
5. 0
パディング・リーディング・ゼロ、数値の場合はプラスとマイナスの記号の後に移動します。
fmt.Printf("%05s", "a")
// Output
0000a
fmt.Printf("%+05d", 1)
// Output
+0001
精密切捨て文字列
文字列の精度を使用し、切り捨てるために使用されます。
fmt.Printf("%.2s", "abc")
// Output
ab
概要
大文字小文字を区別するプレースホルダーは全部で20個ありますが、実はプレースホルダーに関する知識はもっと多く、プロジェクトで使いにくいので、とりあえず勉強するのはやめときます。
興味のある方は、ホームページへどうぞ。アドレスはこちら https://pkg.go.dev/fmt
Go言語における20のプレースホルダーに関するこの記事は以上です。Go言語の20のプレースホルダーについては、Script Houseの過去の記事を検索するか、引き続き以下の関連記事を参照してください。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
golang マイクロサービスフレームワーク 基本的なGin 基本的なルーティング 使い方 詳細
-
golang 開発 go パッケージ 依存性管理 godep 使用法 チュートリアル
-
golangはファイルをダウンロードするためにマルチプロセッシングを実装しています(ブレークポイント転送をサポート)。
-
Go deferの原理とソースコード分解(推奨)
-
go言語における並行処理のセキュリティとロックの説明
-
Goの配列とスライスの詳細な紹介
-
golangでインターフェースオブジェクトを変換する2つの方法
-
Goのアドレッサブルとノンアドレッサブルを1つの記事で理解する
-
Go言語 構造体とメソッドの基本構文
-
Golang開発における共有変数問題の解決方法