对于字符串,fmt.Printf() 标志“0”不会被忽略

yej*_*lue 6 go

根据文档,字符串的标志“0”被忽略

'0' 用前导零而不是空格填充;对于数字,这会移动符号后面的填充;忽略字符串、字节切片和字节数组

但在下面的代码中不会忽略标志“0”。医生有错吗?还是我误解了它?

package main

import "fmt"

func main() {
    fmt.Printf("%05s", "abc")
    // print 00abc
}
Run Code Online (Sandbox Code Playgroud)

Pak*_*ula 4

看来您发现了一个错误。

源代码zero仅重置-(减)标志。无论是字符串还是任何其他类型,它都不会被修改。

输出字符串的函数也不会重置该zero标志。