亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Go 中的 Print 和 Printf 有何不同?

Go 中的 Print 和 Printf 有何不同?

Go
交互式愛情 2023-04-04 14:36:42
我是 Go 的新手,理解簡單的語法和函數。在這里,我對 Print 和 Printf 函數感到困惑。這些函數的輸出是相似的,那么這兩個函數有什么區別呢?package mainimport (    "fmt"    "bufio"    "os")func main(){    reader := bufio.NewReader(os.Stdin)    fmt.Print("Enter Text: ")    str, _ := reader.ReadString('\n')    fmt.Printf(str)    fmt.Print(str)}看了https://golang.org/pkg/fmt/#Print就明白了,沒看懂。
查看完整描述

3 回答

?
波斯汪

TA貢獻1811條經驗 獲得超4個贊

從有關 Printing 的文檔中:

對于每個類似 Printf 的函數,還有一個不采用格式的 Print 函數,相當于對每個操作數說 %v。另一個變體 Println 在操作數之間插入空格并附加一個換行符。

所以 Printf 采用格式字符串,讓您告訴編譯器輸出變量的格式,并將它們與其他信息一起放入字符串中,而 Print 只是按原樣輸出變量。通常您更喜歡使用 fmt.Printf,除非您只是在調試并希望快速輸出一些變量。

在您的示例中,您錯誤地將要打印的字符串作為格式字符串發送,這將起作用,但不是預期用途。如果您只想以默認格式打印一個變量,則可以使用 Print。


查看完整回答
反對 回復 2023-04-04
?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

Printf 方法接受格式化字符串,該字符串中的代碼如“%s”和“%d”指示值的插入點。然后將這些值作為參數傳遞。


例子:


package main


import (

"fmt"      

)


var(

a = 654

b = false

c   = 2.651

d  = 4 + 1i

e   = "Australia"

f = 15.2 * 4525.321

)


func main(){    

fmt.Printf("d for Integer: %d\n", a)

fmt.Printf("6d for Integer: %6d\n", a)


fmt.Printf("t for Boolean: %t\n", b)

fmt.Printf("g for Float: %g\n", c)

fmt.Printf("e for Scientific Notation: %e\n", d)

fmt.Printf("E for Scientific Notation: %E\n", d)

fmt.Printf("s for String: %s\n", e)

fmt.Printf("G for Complex: %G\n", f)


fmt.Printf("15s String: %15s\n", e)

fmt.Printf("-10s String: %-10s\n",e)


t:= fmt.Sprintf("Print from right: %[3]d %[2]d %[1]d\n", 11, 22, 33)

fmt.Println(t)  

}


查看完整回答
反對 回復 2023-04-04
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

根據文檔

打?。?/strong>將打印數字變量,并且不會在末尾包含換行符。

Printf:不會打印數字變量,也不會在末尾包含換行符。

Printf用于打印格式化字符串。它可以導致更具可讀性的打印。


查看完整回答
反對 回復 2023-04-04
  • 3 回答
  • 0 關注
  • 265 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號