Go言語_print系関数
print系関数
print系関数はfmtパッケージによって提供されています。
Print()
Print()関数は、オペランドの間に半角スペースを入れることや、文字列の最後に改行を追加することなく、標準出力に出力します。
package main
import "fmt"
func main() {
fmt.Print("The Go Programming Language.")
fmt.Print("The", "Go", "Programming", "Language.")
}
上記の実行結果は以下の通りです。
The Go Programming Language.TheGoProgrammingLanguage.
Println()
Println()関数は、オペランドの間に半角スペースを入れ、文字列の最後に改行を追加して、標準出力に出力します。
package main
import "fmt"
func main() {
fmt.Println("The Go Programming Language.")
fmt.Println("The", "Go", "Programming", "Language.")
}
上記の実行結果は以下の通りです。
The Go Programming Language.
The Go Programming Language.
Printf()
Printf()関数は、フォーマットを指定することができます。
書式指定子は以下の通りです。
package main
import "fmt"
func numericFormat() {
// %d 10進数
d := 7
fmt.Printf("10進数 = %d\n", d)
// %b 2進数
b := 69
fmt.Printf("2進数 = %08b\n", b)
// %o 8進数
o := 509
fmt.Printf("8進数 = 0%o\n", o)
// %x 16進数:10以上の数には小文字(a-f)を使用
x := 1715004
fmt.Printf("16進数 = 0x%08x\n", x)
// %X 16進数、10以上の数には大文字(A-F)を使用
X := 1715004
fmt.Printf("16進数 = 0x%08X\n", X)
}
func stringFormat() {
// %s 文字列
s := "strings"
fmt.Printf("文字列 = %s\n", s)
// %c ルーン(対応するUnicodeコードポイントによって表される文字)
c := '\101'
fmt.Printf("Unicodeコードポイント = %c\n", c)
// %1
q := `"key"="value"`
fmt.Printf("エスケープ文字列 = %q\n", q)
// %U ユニコードフォーマット: U+1234; "U+%x"と同じ。
U := '\101'
fmt.Printf("ユニコードフォーマット = %U\n", U)
}
func otherFormat() {
// %t ブーリアン
b := true
fmt.Printf("ブーリアン = %t\n", b)
// %v 任意の値に対する自然なフォーマット
v := false
fmt.Printf("任意の値 = %v\n", v)
// %T 任意の値に対する自然なフォーマット
T := false
fmt.Printf("型 = %T\n", T)
}
func main() {
numericFormat()
stringFormat()
otherFormat()
}
Fprint系関数
Fprint(), Fprintf(), Fprintln() は書き込み先(ファイルストリーム)を明示的に指定して出力します。
package main
import (
"fmt"
"io"
"os"
)
func main() {
fmt.Fprint(os.Stdout, "The Go Programming Language.")
fmt.Fprintln(os.Stderr, "The Go Programming Language.")
printStr(os.Stdout, "The Go Programming Language.")
}
func printStr(w io.Writer, str string) {
fmt.Fprintf(w, "%s\n", str)
}
Sprint系関数
Sprint(), Sprintf(), Sprintln() は、stringと他の型をstring型として一緒に扱うことができます。
package main
import "fmt"
func main() {
key := "id="
val := 50
str := fmt.Sprintf("%s%04d", key, val)
fmt.Println(str) // id=0050
}