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.