介绍golang的%用法及相关知识
在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
- 对齐与填充
在%后面的标志可以修改转换规则,从而控制输出的宽度和精度。
例如,我们可以使用%10d将输出宽度设置为10字符(不足使用空格填充)。
i := 100
fmt.Printf("|%10d|\n", i) //输出 | 100|
另外,如果我们想用0来填充宽度不足的输出,可以使用%010d。
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
时间的格式化常见格式说明如下:
- %Y 4位数年份
- %m 2位数月份
- %d 2位数天数
- %H 2位数小时
- %M 2位数分钟
- %S 2位数秒数
- 自定义格式化
在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的%用法及相关知识的详细内容,更多请关注其它相关文章!
相关文章