在Go語言中,我們常常會用到%來進行格式化輸出操作,%用法非常靈活,下面我們就來介紹一下golang的%用法及相關知識。
%用法最基本的形式就是用它將變數替換為指定的格式。例如下面程式碼將i替換為%d,%d表示輸出變數i為十進位整數。
i := 100 fmt.Printf("i = %d\n", i) //输出 i = 100
也可以在%符號後面加上一些標誌,從而改變輸出格式。例如%f表示浮點數,%.2f表示保留兩位小數的浮點數,%s表示字串。
pi := 3.1415926 fmt.Printf("pi = %.2f\n", pi) //输出 pi = 3.14 str := "hello go" fmt.Printf("str = %s\n", str) //输出 str = hello go
在%後面的標誌可以修改轉換規則,從而控制輸出的寬度和精確度。
例如,我們可以使用 d將輸出寬度設為10字元(不足使用空格填充)。
i := 100 fmt.Printf("|%10d|\n", i) //输出 | 100|
另外,如果我們想要用0來填滿寬度不足的輸出,可以使用 0d。
i := 100 fmt.Printf("|%010d|\n", i) //输出 |0000000100|
在golang中,也可以使用%來格式化日期和時間。例如:
t := time.Now() //获取当前时间 fmt.Printf("%04d-%02d-%02d %02d:%02d:%02d\n", t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second()) //输出:2022-04-05 11:42:34
時間的格式化常見格式說明如下:
在Go語言中,也可以自訂格式化輸出。其中fmt套件提供了格式化寬度和精度調整的功能,但無法自訂格式化輸出操作。如果需要自訂格式化輸出,可以使用text/template或html/template。
type Person struct { Name string Age int } func (p *Person) String() string { return fmt.Sprintf("%s is %d years old.", p.Name, p.Age) } func main() { p := &Person{"Jack", 23} fmt.Printf("%s\n", p) //输出 Jack is 23 years old. }
上面的程式碼定義了一個Person結構體類型,然後為它實作了String()方法,該方法傳回指定的格式化輸出。
關於%用法,以上就是常見的幾種應用場景和技巧,其中還有一些更高級和靈活的操作,需要大家在日常開發中多多探索和應用。
以上是介紹golang的%用法及相關知識的詳細內容。更多資訊請關注PHP中文網其他相關文章!