Print和Println区别
看这样一段程序:
// 我的减重程序,lbs是磅的简称
package main
import (
"fmt"
)
func main() {
fmt.Println("My weight on the surface of Mars is ")
fmt.Println(112 * 0.3783)
fmt.Println(" lbs, and I would be ")
fmt.Println(19 * 365 / 687)
fmt.Println(" years old.")
}
输出如下:

但是改成这样(即把Println替换成Print):
// 我的减重程序,lbs是磅的简称
package main
import (
"fmt"
)
func main() {
fmt.Print("My weight on the surface of Mars is ")
fmt.Print(112 * 0.3783)
fmt.Print(" lbs, and I would be ")
fmt.Print(19 * 365 / 687)
fmt.Print(" years old.")
}
输出如下:

所以不言而喻,Println和Print的一个区别就是:
Println会自动将输出的内容推进至下一行,但是Print却不会这么做(其实Printf也是如此),不过对于Print和Printf,我们可以通过在文本里面放置换行符\n来讲输出内容推进至下一行。
结合Println中的ln为英文line的缩写,就比较好理解了。
如果要用Println来实现上面的程序,应该这样写:
// 我的减重程序,lbs是磅的简称
package main
import (
"fmt"
)
func main() {
fmt.Println("My weight on the surface of Mars is", 112*0.3783, "lbs, and I would be", 19*365/687, "years old.")
}
输出如下:

补充一个在写的过程中遇到的问题:
我刚开始是这样写的(即自己在分隔的两边加了空格):
// 我的减重程序,lbs是磅的简称
package main
import (
"fmt"
)
func main() {
fmt.Println("My weight on the surface of Mars is ", 112*0.3783, " lbs, and I would be ", 19*365/687, " years old.")
}
输出如下:

发现自己加的空格是多此一举的,因为go编译器会自动帮我们在分隔的地方加空格。

浙公网安备 33010602011771号