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

Posted XS_Harry

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 没有

以上是关于Go语言中 Print,Println 和 Printf 的区别的主要内容,如果未能解决你的问题,请参考以下文章

015_go语言中的闭包

Go语言fmt包详解

go语言标准库之log

2022-07-04:以下go语言代码输出什么?A:true;B:false;C:编译错误。 package main import “fmt“ func main() { fmt.Pri

007_go语言中的switch语句

go语言中的方法method