一、Printf函數的基本用法
package main
import "fmt"
func main() {
name := "John"
age := 25
fmt.Printf("My name is %s and I'm %d years old\n", name, age)
}
Printf函數是GO語言中最常用的格式化輸出函數,它可以將指定格式的數據輸出到標準輸出設備或者其他的輸出設備上。Printf函數中的格式化字元串以”%”為前綴,後面跟著一個或多個格式化指示符。例如,在上面的例子中,”%s”指示一個字元串類型,”%d”指示一個十進位整數類型,而且每個指示符都要與對應的變數一一對應。
Printf函數可以輸出各種類型的值,並且可以按照設定的格式進行顯示。其中,常用的格式化指示符如下:
%s: 字元串類型
%d: 十進位整型
%f: 浮點數類型
%x: 十六進位整型
%X: 十六進位整型(大寫)
%o: 八進位整型
%c: 字元類型
%p: 指針類型
%T: 顯示數據類型
二、Printf函數的高級用法
除了基本用法,Printf函數還有很多高級用法,例如顏色輸出、對齊操作、填充操作等。
1、顏色輸出:
package main
import "fmt"
func main() {
fmt.Printf("\033[31m This is a red text \033[0m\n")
}
在Linux和MacOS終端下,可以使用ANSI Escape Sequence控制終端輸出顏色。例如,上述代碼中的”\033[31m”表示設置字體顏色為紅色,”\033[0m”表示恢復字體顏色為默認顏色。
2、對齊操作:
package main
import "fmt"
func main() {
fmt.Printf("|%10s|%10s|\n", "name", "age")
fmt.Printf("|%10s|%10d|\n", "John", 25)
}
Printf函數還可以進行對齊操作,比如上述代碼中的”%10s”表示寬度為10個字元的字元串類型,”%10d”表示寬度為10個字元的十進位整數類型。如果內容長度不足10個字元,將會在左側填充空格。
3、填充操作:
package main
import "fmt"
func main() {
fmt.Printf("|%-10s|%-10s|\n", "name", "age")
fmt.Printf("|%-10s|%-10d|\n", "John", 25)
}
與對齊操作相反,填充操作使用”-“號表示填充在右側而不是左側。例如,上述代碼中的”%-10s”表示寬度為10個字元的字元串類型,左側填充空格。
三、Printf格式化字元串的高級應用
Printf格式化字元串還有很多高級用法,例如使用參數索引、使用寬度和精度等。
1、使用參數索引:
package main
import "fmt"
func main() {
name := "John"
age := 25
fmt.Printf("%[2]d - %[1]s\n", name, age)
}
Printf格式化字元串中,可以使用”%”後面加上參數索引來指定輸出參數的位置。例如,上述代碼中的”%[2]d”表示輸出第2個參數(age)的十進位整數類型,”%[1]s”表示輸出第1個參數(name)的字元串類型。這種方式可以讓代碼更加清晰明了。
2、使用寬度和精度:
package main
import "fmt"
func main() {
f := 3.1415926
fmt.Printf("%10.2f\n", f)
}
Printf格式化字元串中,可以使用寬度指定參數輸出的最小字元數,使用精度指定浮點型參數輸出的小數點後面保留的位數。例如,上述代碼中的”%10.2f”表示輸出浮點型參數,最少佔10個字元,保留2位小數。
四、小結
本文介紹了GO語言中Printf函數的基本用法和高級用法。通過對Printf函數的介紹,可以更加深入地理解GO語言中格式化字元串的使用方法,從而更加方便地進行代碼編寫。
原創文章,作者:MUSW,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/144870.html