Go语言中Println和Printf的比较及示例


在 Go 语言中,将消息打印到控制台是调试和记录日志的常见任务。有两种主要方法可以将消息打印到控制台:使用 Println 和 Printf。在本文中,我们将比较这两种方法,并探讨何时使用每种方法。

Println

Println 是 Go 语言 fmt 包中的一个内置函数,用于将消息打印到控制台并在末尾添加一个新行。它接受零个或多个任何类型的参数,并用空格分隔它们。以下是一个示例 -

示例

package main

import "fmt"

func main() {
   fmt.Println("Hello, World!")
   fmt.Println("The answer is:", 42)
   fmt.Println("3 + 4 =", 3+4)
}

输出

Hello, World!
The answer is: 42
3 + 4 = 7

在上面的示例中,我们使用 Println 将三个消息打印到控制台。请注意,Println 会自动在每条消息的末尾添加一个新行。

Printf

Printf 是 Go 语言 fmt 包中的另一个内置函数,用于根据指定的格式将消息打印到控制台。它将字符串作为其第一个参数,该字符串可以包含一个或多个格式化字符,以及一个或多个值作为其后续参数。以下是一个示例 -

示例

package main

import "fmt"

func main() {
   fmt.Printf("The answer is: %d\n", 42)
   fmt.Printf("Pi is approximately: %f\n", 3.14159)
   fmt.Printf("My name is %s and I am %d years old.\n", "John", 30)
}

输出

The answer is: 42
Pi is approximately: 3.141590
My name is John and I am 30 years old.

在上面的示例中,我们使用 Printf 将三个消息打印到控制台。请注意,我们在字符串参数中使用格式化字符来指定后续值的格式。例如,%d 是整数的格式化字符,%f 是浮点数的格式化字符。

比较

Println 和 Printf 都可以用于在 Go 语言中将消息打印到控制台,但它们之间存在一些差异,应予以考虑。以下是一些需要记住的要点 -

  • Println 会自动在每条消息的末尾添加一个新行,而 Printf 不会。这意味着如果您使用 Printf 在同一行打印多个消息,则需要在最后一条消息的末尾手动添加一个新行字符。

  • Printf 允许您使用格式化字符指定打印值的格式,这对于以特定格式打印值非常有用。但是,如果您不需要指定格式,则 Println 可以是打印消息的一种更简单、更简洁的方法。

  • 在打印大量数据时,Printf 可能比 Println 更有效,因为它避免了使用 + 运算符连接字符串的需要。

结论

总之,Println 和 Printf 都是 Go 语言中用于将消息打印到控制台的有用函数。Println 是一种简单、简洁的打印消息并在末尾添加新行的方法,而 Printf 允许您指定打印值的格式。在选择这两种方法之间时,请考虑消息的格式需求和代码的效率。

更新于: 2023年4月7日

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.