package main
import("fmt")funcmain(){
a :="hello world"
fmt.Printf("a: %v\n", a)
fmt.Printf("a: %+v\n", a)
fmt.Printf("a: %#v\n", a)
fmt.Printf("a: %T\n", a)}//输出结果
a: hello world
a: hello world
a:"hello world"
a:string
方式二:更直观看出效果
package main
import"fmt"type Website struct{
Name string}funcmain(){
site := Website{Name:"haha"}
fmt.Printf("site: %v\n", site)//输出site: {haha}
fmt.Printf("site: %+v\n", site)//输出site: {Name:haha}
fmt.Printf("site: %#v\n", site)//输出site: main.Website{Name:"haha"}
fmt.Printf("site: %T\n", site)//输出site: main.Website}//衍生版/* package main
import "fmt"
type Website struct {
Name string
Age int
}
func main() {
site := Website{Name: "haha", Age: 18}
fmt.Printf("site:%v\n", site)
fmt.Printf("site: %+v\n", site)
fmt.Printf("site: %#v\n", site)
fmt.Printf("site: %T\n", site)
} */
2.格式化输出-布尔类型
输出格式
输出内容
%t
以true 或 false的方式输出布尔值
package main
import "fmt"
func main() {
var flag bool
fmt.Printf("%T %t\n", flag, flag)
flag = true
fmt.Printf("%T %t\n", flag, flag)
}
//输出结果
bool false
bool true
格式化输出-整数类型
输出格式
输出内容
%b
表示为二进制
%c
该值对应的 unicode 码值
%d
表示为十进制
%8d
表示该整型长度是 8,不足 8 则在数值前补空格;如果超出 8,则以实际为准,也可以是其它整数
%08d
表示该整型长度是 8,不足 8 则在数值前补 0;如果超出 8,则以实际为准,也可以是其它整数
%o
表示为八进制
%q
该值对应的单引号括起来的Go语言语法字符字面值,必要时会采用安全的转义表示
%x
表示为十六进制,使用 a~f
%X
表示为十六进制,使用 A~F
%U
表示为 unicode 格式:U+1234,等价于 U+%04X
package main
import"fmt"funcmain(){
a :=1234//%b 表示为二进制
fmt.Printf("a: %T;%b \n", a, a)//输出结果:a: int;10011010010//%c 该值对应的 unicode 码值
fmt.Printf("a: %T;%c \n", a, a)//输出结果:a: int;Ӓ //%d 表示为十进制
fmt.Printf("a: %T;%d \n", a, a)//输出结果:a: int;1234 //%9d 表示该整数长度9,不足9在数值前补空格,超出则以实际为准
fmt.Printf("a: %T;%9d \n", a, a)//输出结果:a:int; 1234 //%09 表示该整数长度9,不足9在数值前补0,超出则以实际为准
fmt.Printf("a: %T;%09d \n", a, a)//输出结果:a: int;000001234 //%o 表示为八进制
fmt.Printf("a: %T;%o\n", a, a)//输出结果:a: int;2322//%q 该值对应的单引号括起来的Go语言语法字符字面值,必要时会采用安全的转义表示
fmt.Printf("a: %T;%q\n", a, a)//输出结果:a: int;'Ӓ'//%x 表示为十六进制,使用 a~
fmt.Printf("a: %T;%x\n", a, a)//输出结果:a: int;4d2//%X(大写) 表示为十六进制,使用 A~F
fmt.Printf("a: %T;%X\n", a, a)//输出结果:a: int;4D2//%U表示为 unicode 格式:U+1234,等价于 U+%04X
fmt.Printf("a: %T;%U\n", a, a)//输出结果:a: int;U+04D2}//输出结果
a:int;10011010010
a:int;Ӓ
a:int;1234
a:int;1234
a:int;000001234
a:int;2322
a:int;'Ӓ'
a:int;4d2
a:int;4D2
a:int;U+04D2