2022/12/08

golang fmt %q

文字列を””で囲んで出力する。
これで実際の を””に表現して、わかりやすい 

spannerのgolang clientで%qを使っている
It's just quite a strange decision made by Google here, to assume that the String() function is only used for logging and it's ok to add quotes...

package main


import (

"fmt"

)


func main() {

str := "Gopherくん"

slice := []string{"g", "o", "h", "e", "r"}

integer := 12450

fmt.Printf("1:出力は %q となります。\n", str)

fmt.Printf("2:出力は %s となります。\n", str)


fmt.Printf("3:出力は %q となります。\n", slice)

fmt.Printf("4:出力は %s となります。\n", slice)


fmt.Printf("5:出力は %d となります。\n", integer)

fmt.Printf("6:出力は %q となります。\n", integer)

}


//1:出力は "Gopherくん" となります。

//2:出力は Gopherくん となります。

//3:出力は ["g" "o" "h" "e" "r"] となります。

//4:出力は [g o h e r] となります。

//5:出力は 12450 となります。

//6:出力は 'ア' となります。 (アのunicode の十進制は12345)