ホームページ  >  記事  >  バックエンド開発  >  golang プレースホルダーを徹底的に理解するための 1 つの記事

golang プレースホルダーを徹底的に理解するための 1 つの記事

藏色散人
藏色散人転載
2023-03-16 15:47:022649ブラウズ

この記事では、golang に関する関連知識を紹介します。主に golang のプレースホルダーについて説明します。興味のある友人はぜひ読んでください。皆さんのお役に立てれば幸いです。

golang プレースホルダーを徹底的に理解するための 1 つの記事

xdm、C/C 言語を記述する場合、%s、%d、%c、%p などの書式制御文字が使用されます。

golang を記述する場合、プレースホルダーと呼ばれる、対応する形式制御文字もありますが、このプレースホルダーを記述するには、それに対応する対応するデータが必要であり、いじることはできません。

基本的に一般的なプレースホルダー

  • %s
  • %d
  • %v、%v、% v
  • %T 、 %q

デモを作成して、上記のプレースホルダーの効果とそれがどのように見えるかを確認します。

type Animal struct {
    hobby string
}

func main() {

    name := "xiaomotong"
    age := 19
    hh := Animal{"basketball"}

    fmt.Printf("name = %s , age = %d , hh = %v\n\n", name, age, hh)
    fmt.Printf("hh = %+v , hh= %#v\n\n", hh, hh)
    fmt.Printf("name = %T , age = %T , hh = %T\n\n", name, age, hh)
    fmt.Printf("%q", 0x8989)
}

上記コード実行の効果は次のとおりです:

# go run main.go
name = xiaomotong , age = 19 , hh = {basketball}

hh = {hobby:basketball} , hh= main.Animal{hobby:"basketball"}

name = string , age = int , hh = main.Animal

'覉'

上記の効果からわかります:

%q は一重引用符で囲まれた文字リテラル値を表し、Go によって安全にエスケープされます。構文、xdm に興味がある場合は、印刷とデバッグを試して効果を確認してください。

$s は文字列を表します。

$d は 10 進数を表します。

%v は、デフォルトの形式を表します。

% v は、構造を印刷するときに、対応するフィールド名が追加されることを示します

%#v対応するデータ構造の Golang 言語の表現を示します

あまり使用されないプレースホルダー

  • %t
  • %b
  • ##%c
  • %U 、%#U
デモの作成を続けて確認してくださいエフェクト ジオメトリ:

func main() {
    a := true
    num := 88
    uni := 0x8989

    fmt.Printf("%t\n", a)
    fmt.Printf("%b\n", num)
    fmt.Printf("%c\n", 0x8989)
    fmt.Printf("uni = %U , uni = %#U\n", uni, uni)
}

上記のコードの実行効果は次のとおりです:

# go run main.go
true
1011000
覉
uni = U+8989 , uni = U+8989 '覉'
上記の効果からわかります:

% t はブール値のプレースホルダーを表します

%b はバイナリ データを表します

#%c は対応する Unicode コード ポイントで表される文字を表します

%U は、データを Unicode 形式仕様に変換できることを表します。つまり、先頭の

%#U は、データを Unicode に対応する文字に変換できることを意味します。デモ内のテキストは次のようになります。

基数と浮動小数点 プレースホルダーを使用します

    - 、 d
  • %x 、 %# x
  • %f , %. 3f
  • func main() {
        num := 888
        fNum := 888.99
    
        fmt.Printf("num = %2d , num = %07d\n", num, num)
        fmt.Printf("num = %x , num = %#x\n", num, num)
        fmt.Printf("num = %f  , num = %.3f\n", fNum, fNum)
    }
上記のコードの実行結果は次のとおりです。上記の効果からわかります:

- は合計 2 桁を意味します。2 桁未満の場合は、前にゼロを追加します。

d は合計 7 桁を意味します。 7 桁未満の場合は、先頭にゼロを追加します。

%x は 16 進数を表し、すべて小文字の

%#x は 16 進数を表し、前に 0x

# が付きます。 ##%f は浮動小数点型データを表します。デフォルトは 6 桁を維持します。

##%.3f は浮動小数点型データを表し、小数点以下 3 桁を保持します

#ポインタ プレースホルダ

%p

%#p
# go run main.go
num = 888 , num = 0000888
num = 378 , num = 0x378
num = 888.990000  , num = 888.990

上記のコードの実行結果は次のとおりです。
  • func main() {
        ptr := "xiaomotong"
        fmt.Printf("ptr = %p , ptr = %#p\n", &ptr, &ptr)
    }
  • %p は、16 進数のポインタ アドレスに 0x
  • %#p が含まれることを意味します。これは、16 進数のポインタ アドレスに 0x

が含まれないことを意味します。 [関連する推奨事項: Go ビデオ チュートリアル

]

以上がgolang プレースホルダーを徹底的に理解するための 1 つの記事の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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