1. Println 打印的每一项之间都会有空行,Print 没有,例如:
|
|
fmt.Println("go","python","php","javascript") // go python php javascript fmt.Print("go","python","php","javascript") // gopythonphpjavascript |
2. Println 会自动换行,Print 不会,例如:
|
|
fmt.Println("hello") fmt.Println("world") // hello // world fmt.Print("hello") fmt.Print("world") // helloworld |
Println 和 Printf
|
|
func main() { a:=10 b:=20 c:=30 fmt.Println("a=", a , ",b=" , b , ",c=" , c) fmt.Printf("a=%d,b=%d,c=%d" , a , b , c) } |
%d 是占位符,表示数字的十进制表示。Printf 中的占位符与后面的数字变量一一对应。更多的占位符参考:
%v 值的默认格式表示。当输出结构体时,扩展标志(%+v)会添加字段名
%#v 值的Go语法表示
%T 值的类型的Go语法表示
%t 单词true或false
%% 百分号
%p 表示为十六进制,并加上前导的0x
%s 直接输出字符串或者[]byte %q 该值对应的双引号括起来的go语法字符串字面值,必要时会采用安全的转义表示
%x 每个字节用两字符十六进制数表示(使用a-f)
%X 每个字节用两字符十六进制数表示(使用A-F)
%b 表示为二进制
%c 该值对应的unicode码值
%d 表示为十进制
%o 表示为八进制
%q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示
6 %x 表示为十六进制,使用a-f
7 %X 表示为十六进制,使用A-F
8 %U 表示为Unicode格式:U+1234,等价于"U+%04X"
%f: 默认宽度,默认精度
%9f 宽度9,默认精度
%.2f 默认宽度,精度2 %9.2f 宽度9,精度2 %9.f 宽度9,精度0
|
|
fmt.Printf("%v") fmt.Printf("%#v\n",p) fmt.Printf("%v") fmt.Printf("%T") {xu 20} main.person{name:"liu", age:20} {name:liu age:20} main.person |
拓展:
|
|
Print: 输出到控制台,不接受任何格式化操作 Println: 输出到控制台并换行 Printf : 只可以打印出格式化的字符串。只可以直接输出字符串类型的变量(不可以输出别的类型) Sprintf:格式化并返回一个字符串而不带任何输出 Fprintf:来格式化并输出到 io.Writers 而不是 os.Stdout |
func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)
Fprintf根据format参数生成格式化的字符串并写入w。返回写入的字节数和遇到的任何错误。
func Sprintf(format string, a ...interface{}) string
Sprintf根据format参数生成格式化的字符串并返回该字符串。
func Fprint(w io.Writer, a ...interface{}) (n int, err error)
Fprint采用默认格式将其参数格式化并写入w。如果两个相邻的参数都不是字符串,会在它们的输出之间添加空格。返回写入的字节数和遇到的任何错误。
func Sprint(a ...interface{}) string
Sprint采用默认格式将其参数格式化,串联所有输出生成并返回一个字符串。如果两个相邻的参数都不是字符串,会在它们的输出之间添加空格。
func Errorf(format string, a ...interface{}) error
Errorf根据format参数生成格式化字符串并返回一个包含该字符串的错误。
来源:https://www.cnblogs.com/wjaaron/p/11613513.html
https://studygolang.com/articles/30413
推荐阅读:
Go语言fmt包Printf方法详解
https://www.jianshu.com/p/8be8d36e779c
共有 0 - Go语言中 Print,Println 和 Printf 的区别