Golang是一門以高效率而聞名的程式語言,在處理大數據量和高並發情況下有著卓越的效能表現。在開發過程中,經常需要在控制台輸出一些訊息,以方便開發人員進行程式碼的調試和測試。本文將介紹Golang中常用的列印輸出方法。
一、fmt.Printf()函數
首先介紹Golang常用的fmt套件中的Printf函數。這個函數支援格式化輸出,可以將各種類型的資料依照一定的格式輸出到控制台。 Printf函數的語法如下:
func Printf(format string, a ...interface{}) (n int, err error)
其中,第一個參數為格式化字串,後續的參數為要輸出的數據,支援多參數傳遞。部分常用的格式化字串及對應的輸出格式如下:
格式化字串 | 輸出格式 |
---|---|
依照預設格式輸出 | |
布林值,true或false | |
十進位整數 | |
二進位整數 | |
#%o | |
%x | |
##%s | 字串 |
%p
指標位址
#%f
#浮點數
%e
科學計數法
#下面是使用Printf函數輸出字串和整數的範例:package main import "fmt" func main() { name := "Tom" age := 20 fmt.Printf("My name is %s, and I am %d years old.\n", name, age) }輸出結果為:###
My name is Tom, and I am 20 years old.###二、fmt.Println()函數######除了Printf函數,fmt套件還提供了Print和Println函數。 Print函數會將傳入的參數直接輸出到控制台,Println函數會在輸出末端新增一個換行符。這兩個函數不支援格式化輸出,適用於簡單的輸出場景。它們的語法如下:###
func Print(a ...interface{}) (n int, err error) func Println(a ...interface{}) (n int, err error)###下面是使用Println函數輸出字串和整數的範例:###
package main import "fmt" func main() { name := "Tom" age := 20 fmt.Println("My name is", name, "and I am", age, "years old.") }###輸出結果為:###
My name is Tom and I am 20 years old.###三、log包## ####除了fmt包,Golang還內建了log包,提供了更靈活且可設定的日誌輸出功能。 log包中的函數分為三個等級:Debug、Info和Error,分別用於輸出不同等級的日誌資訊。在發布環境下可以透過設定日誌等級,只輸出指定等級的訊息,不會幹擾正常業務邏輯。 log包的使用範例如下:###
package main import ( "log" ) func main() { log.Println("This is an info message.") log.SetFlags(log.Lshortfile | log.LstdFlags) // 设置输出格式 log.Printf("This is a debug message. %d\n", 123) log.Fatalf("This is an error message. %s\n", "Some error occurred.") }###輸出結果為:###
2021/08/18 13:12:21 This is an info message. main.go:9: This is a debug message. 123 2021/08/18 13:12:21 This is an error message. Some error occurred.###可以看到,log包中的輸出資訊不僅包含日誌內容,還包含了輸出時間、檔案名稱和行號等更加詳細的調試資訊。另外,透過呼叫SetFlags函數可以設定輸出格式和日誌等級等參數。 ######綜上所述,Golang提供了多種列印輸出方式,可以根據不同的場景選擇合適的輸出方法,方便進行程式碼的偵錯和測試。在開發過程中,熟練這些輸出方法是非常有用的技能。 ###
以上是Golang如何進行列印輸出的詳細內容。更多資訊請關注PHP中文網其他相關文章!