4
4

More than 3 years have passed since last update.

【Golang】Print系関数について調べてみた

Last updated at Posted at 2020-05-07

【Golang】Print系関数

Golangの基礎学習〜Webアプリケーション作成までの学習を終えたので、復習を兼ねてまとめていく。
基礎〜応用まで。

package main

import ( 
    "fmt"
    "os"
)



func main(){
    fmt.Println("表示")
    //標準とfmtライブラリの違い

    //標準
    print("Hello")
    //改行が入る
    println("Hello!")

    //fmtライブラリ
    //fmt標準
    fmt.Print("Hello")
    //改行
    fmt.Println("Hello!")

    //Fprint系 書き込み先指定
    //Stdoutは標準出力に指定
    fmt.Fprint(os.Stdout, "Hello")
    fmt.Fprintf(os.Stdout, "Hello")
    fmt.Fprintln(os.Stdout, "Hello")

    //Sprint系 出力ではなくフォーマットした結果を文字列で返す。変数に代入時など
    fmt.Sprint("Hello")
    fmt.Sprintf("Hello")
    fmt.Sprintln("Hello")


    //Println系 各々の文字列は半角スペースで区切られ、文字列の最後に改行を追加して、連結して表示
    fmt.Println("Hello", "world!")
    fmt.Println("Hello", "world!")

    //Printf系 フォーマットを指定
    fmt.Printf("%s\n", "Hello")
    fmt.Printf("%#v\n", "Hello")

    //Errorf  フォーマットされたメッセージを持つエラーを生成する。自分でエラー値を生成したいとき。
}


    /*Printfについて

    Goでは書式指定子 %... のことを verb と表記しています。

    すべての型に使えるverb
    論理値(bool) %t
    符号付き整数(int, int8など) %d
    符号なし整数(uint, uint8など)   %d
    浮動小数点数(float64など)   %g
    複素数(complex128など) %g
    文字列(string)   %s
    チャネル(chan)  %p
    ポインタ(pointer)   %p

    %+v  %vと同じだが、構造体の場合にフィールド名を出力する。
    %#v  値のGoの文法での表現を出力する。
    %T   値の型のGoの文法での表現を出力する。
    %%   %そのものを出力したい場合に使う。


    論理値に使えるverb 
    %t trueかfalse

    整数に使えるverb

    %d  10進数で出力する
    %+d 10進数で出力し、正の整数でも符号を付与する
    %(数値)d  10進数で出力し、(数値)で指定した桁数だけ左を半角スペースで埋める
    %-(数値)d 10進数で出力し、(数値)で指定した桁数だけ右を半角スペースで埋める
    %0(数値)d 10進数で出力し、(数値)で指定した桁数だけ左を0で埋める
    %b  2進数で出力する
    %o  8進数で出力する
    %#o 0付き8進数で出力する
    %x  16進数で出力する(a-fは小文字)
    %#x 0x付き16進数で出力する(a-fは小文字)
    %X  16進数で出力する(A-Fは大文字)
    %#X 0x付き16進数で出力する(A-Fは大文字)
    %U  Unicodeコードポイントに対応する文字で出力する


    浮動小数点数・複素数に使えるverb

    %f  実数表現で出力する
    %F  実数表現で出力する(%fと同じ)
    %e  仮数と指数表現で出力する(eは小文字)
    %E  仮数と指数表現で出力する(Eは大文字)
    %g  指数部が大きい場合は%e、それ以外は%fで出力する
    %G  指数部が大きい場合は%E、それ以外は%Fで出力する


    文字列([]byteも同じ)に使えるverb

    %s  そのままの書式で出力する
    %(数値)s  (数値)で指定した桁数だけ左を半角スペースで埋める
    %e  Goの文法上のエスケープをした文字列で出力する(ダブルクォート付与)
    %q  
    %x  16進数表現で出力する(a-fは小文字)
    %X  16進数表現で出力する(A-Fは大文字)

    */



4
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
4