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:SoftwareGo #gosetup
GOPATH=D:GolangProjects #gosetup
D:SoftwareGoingo.exe build -o C:UsersHarryAppDataLocalTemp\___go_build_helloword_go.exe D:/GolangProjects/src/001/helloword.go #gosetup
C:UsersHarryAppDataLocalTemp\___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:UsersHarryAppDataLocalTemp\___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 没有