首页 > 代码库 > fmt

fmt

package main

import (
	"fmt"
	//"time"
)

type Test struct {
	a int
	b float64
	c string
}

func main() {
	//各类型通用:
	// %v	值的默认格式表示
	// %+v	类似%v,但输出结构体时会添加字段名
	// %#v	值的Go语法表示
	// %T	值的类型的Go语法表示
	// %%	百分号
	t := &Test{5, -3.14, "hello world"}
	fmt.Printf("%v\n", t)  //值的默认格式输出
	fmt.Printf("%+v\n", t) //输出结构体时显示键值对
	fmt.Printf("%#v\n", t) //值的GO语法表示
	fmt.Printf("%T\n", t)  //输出类型
	fmt.Printf("hello %%") //字面上的%并非占位符,只是相当于\转义%的

	//布尔占位符
	fmt.Println(fmt.Sprintf("%t\n", true)) //布尔类型,单词true或false

	//整数占位符
	fmt.Printf("%b\n", 2)      //二进制表示
	fmt.Printf("%c\n", 0x4E2D) //相应Unicode码点所表示的字符
	fmt.Printf("%d\n", 0x12)   //十进制表示
	fmt.Printf("%o\n", 10)     //八进制表示
	fmt.Printf("%q\n", 0x4E2D) //单引号围绕的字符字面值,由Go语法安全地转义
	fmt.Printf("%x\n", 13)     //十六进制表示,字母形式为小写 a-f
	fmt.Printf("%X\n", 13)     //十六进制表示 字母形式为大写A-F
	fmt.Printf("%U\n", 0x4E2D) //Unicode格式:U+1234,等同于 "U+%04X"

	//浮点数和复数的组成部分(实部和虚部)
	fmt.Printf("%b\n", 3)          //无小数部分的,指数为二的幂的科学计数法。貌似是二进制
	fmt.Printf("%e\n", 10.2)       //科学计数法,不明
	fmt.Printf("%E\n", 10.2)       //科学计数法,不明
	fmt.Printf("%f\n", 10.200)     //小数,默认后面后有6位的精度
	fmt.Printf("%5.2f\n", 10.1234) //小数宽度是5 精度是2
	fmt.Printf("%g\n", 10.200)     //把小数后面的零干掉
	fmt.Printf("%G", 10.20)        //把小数后面的零干掉

	//字符串与字节切片
	fmt.Printf("%s\n", []byte("你好世界")) //输出字符串表示,string或[]byte
	fmt.Printf("%q\n", "你好世界")         //双引号围绕的字符串,由GO语法安全的转义
	fmt.Printf("%x\n", "golang")       //十六进制,小写字母,每字节两个字符
	fmt.Printf("%X", "golang")         //十六进制,大写字母,每字节两个字符
	//指针
	fmt.Printf("%p", t) //十六进制表示,前缀0x

}



fmt