首頁 >後端開發 >Golang >介紹golang的%用法及相關知識

介紹golang的%用法及相關知識

PHPz
PHPz原創
2023-03-30 10:55:262131瀏覽

在Go語言中,我們常常會用到%來進行格式化輸出操作,%用法非常靈活,下面我們就來介紹一下golang的%用法及相關知識。

  1. 基本用法:

%用法最基本的形式就是用它將變數替換為指定的格式。例如下面程式碼將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
  1. 對齊與填充

在%後面的標誌可以修改轉換規則,從而控制輸出的寬度和精確度。

例如,我們可以使用 d將輸出寬度設為10字元(不足使用空格填充)。

i := 100 
fmt.Printf("|%10d|\n", i) //输出 |       100|

另外,如果我們想要用0來填滿寬度不足的輸出,可以使用 0d。

i := 100 
fmt.Printf("|%010d|\n", i) //输出 |0000000100|
  1. 格式化日期和時間

在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

時間的格式化常見格式說明如下:

  • %Y 4位數年份
  • %m 2位數月份
  • %d 2位數天數
  • %H 2位數小時
  • %M 2位數分鐘
  • %S 2位數秒數
  1. 自訂格式化

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn