Go语言中 Print,Println 和 Printf 的区别

Go语言中 Print,Println 和 Printf 的区别

写代码

package main

import "fmt"

func main()  {
	fmt.Println("hello word")
	fmt.Print("hello word")
	fmt.Printf("hello word")

}

打印结果

hello word
hello wordhello word

初学的小伙伴会发现 打印结果不是三行 hello word

那么我们要对 Print 和 Println 和 Printf 进行区分认识

对于新手来说 可以认为println == python的print

不带换行的普通的格式化输出 一半println更丰富

Print 和 Println
这两个打印方式类似,只在格式上有区别

1.Println 打印的每一项之间都会有空行,Print 没有,例如:

package main

import "fmt"

func main()  {
	//fmt.Println("hello word")
	//fmt.Print("hello word")
	//fmt.Printf("hello word")
	fmt.Println("go","python","harry","alex")  
	fmt.Print("go","python","harry","alex")

}

打印结果:

go python harry alex
gopythonharryalex

2.Println 会自动换行,Print 不会,例如:

package main

import "fmt"

func main()  {
	fmt.Println("hello word")
	fmt.Println("hello word")
	fmt.Print("hello word")
	fmt.Print("hello word")
}

打印结果

hello word
hello word
hello wordhello word

Println 和 Printf

package main

import "fmt"

func main()  {
	a:=2
	b:=3
	c:=4
	fmt.Println("a=",a, "b=",b, "c=",c)
	fmt.Printf("a=%d,b=%d,c=%d" , a , b , c)

}

打印结果

GOROOT=D:\Software\Go #gosetup
GOPATH=D:\GolangProjects #gosetup
D:\Software\Go\bin\go.exe build -o C:\Users\Harry\AppData\Local\Temp\___go_build_helloword_go.exe D:/GolangProjects/src/001/helloword.go #gosetup
C:\Users\Harry\AppData\Local\Temp\___go_build_helloword_go.exe #gosetup    


a= 2 b= 3 c= 4
a=2,b=3,c=4
Process finished with exit code 0

上面的程序运行解释说明

C:\Users\Harry\AppData\Local\Temp\___go_build_helloword_go.exe #gosetup  
///////////////////////////////////////////////////////////////////////
这是goland通过gosetup这个插件来封装运行go程序的过程

%d 是占位符,表示数字的十进制

Printf 中的占位符与后面的数字变量要一一对应。

更多的占位符参考:http://docscn.studygolang.com/pkg/fmt/

总结

Println 与Printf 都是fmt 包中的公共方法,在需要打印信息时需要用到这二个函数

Println :可以打印出字符串,和变量
Printf : 只可以打印出格式化的字符串,可以输出字符串类型的变量,不可以输出整形变量和整形

Println 会自动换行,Print 不会

Println 打印的每一项之间都会有空行,Print 没有

posted @ 2021-06-10 16:59  xiongsheng  阅读(250)  评论(0编辑  收藏  举报