3 回答
TA贡献1811条经验 获得超4个赞
从有关 Printing 的文档中:
对于每个类似 Printf 的函数,还有一个不采用格式的 Print 函数,相当于对每个操作数说 %v。另一个变体 Println 在操作数之间插入空格并附加一个换行符。
所以 Printf 采用格式字符串,让您告诉编译器输出变量的格式,并将它们与其他信息一起放入字符串中,而 Print 只是按原样输出变量。通常您更喜欢使用 fmt.Printf,除非您只是在调试并希望快速输出一些变量。
在您的示例中,您错误地将要打印的字符串作为格式字符串发送,这将起作用,但不是预期用途。如果您只想以默认格式打印一个变量,则可以使用 Print。
TA贡献1815条经验 获得超12个赞
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)
}
TA贡献2080条经验 获得超4个赞
根据文档
打印:将打印数字变量,并且不会在末尾包含换行符。
Printf:不会打印数字变量,也不会在末尾包含换行符。
Printf用于打印格式化字符串。它可以导致更具可读性的打印。
- 3 回答
- 0 关注
- 220 浏览
添加回答
举报