1. 程式人生 > 其它 >Go語言中 Print,Println 和 Printf 的區別

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 沒有