将固定长度的填充行写入文件Go

将固定长度的填充行写入文件Go,go,byte,padding,Go,Byte,Padding,对于印刷,合理和固定长度,似乎是每个人都在问的,我发现了很多例子,比如 package main import "fmt" func main() { values := []string{"Mustang", "10", "car"} for i := range(values) { fmt.Printf("%10v...\n", values[i]) } for i := range(values) { fmt.Print

对于印刷,合理和固定长度,似乎是每个人都在问的,我发现了很多例子,比如

package main

import "fmt"

func main() {
    values := []string{"Mustang", "10", "car"}
    for i := range(values) {
        fmt.Printf("%10v...\n", values[i])
    }

    for i := range(values) {
        fmt.Printf("|%-10v|\n", values[i])
    }
}
形势

但是如果我需要用固定长度的字节写入一个文件呢

例如:如果我有这样的要求,那么将这一行写入一个文件,该文件必须是32字节,左对齐,右加0

问题


那么,在写入文件时如何实现这一点呢?

有类似于
fmt.PrintXX()
函数的函数,这些函数以
F
开头,形式为
fmt.FprintXX()
。这些变体会将结果写入,也可能是

因此,如果您有要指向文件的语句,只需将它们改为调用,将文件作为第一个参数传递:

var f *os.File = ... // Initialize / open file

fmt.Fprintf(f, "%10v...\n", values[i])
如果您研究
fmt.Printf()
的实现:

它正是这样做的:它调用
fmt.Fprintf()
,将
os.Stdout
作为要写入的输出

有关如何打开文件的信息,请参见


参见相关问题:

有类似于
fmt.PrintXX()
函数的函数,这些函数以
F
开头,形式为
fmt.FprintXX()
。这些变体会将结果写入,也可能是

因此,如果您有要指向文件的语句,只需将它们改为调用,将文件作为第一个参数传递:

var f *os.File = ... // Initialize / open file

fmt.Fprintf(f, "%10v...\n", values[i])
如果您研究
fmt.Printf()
的实现:

它正是这样做的:它调用
fmt.Fprintf()
,将
os.Stdout
作为要写入的输出

有关如何打开文件的信息,请参见


请参阅相关问题:

如果您想要字符串,那么您可以使用
fmt.Fprintf()
而不是
fmt.Printf()
。或者
fmt.Sprintf()
如果您想要字符串,那么您可以使用
fmt.Fprintf()
而不是
fmt.Printf()
。同样相关:谢谢大家,我认为这有助于我的理解,并为我指明了正确的方向。知道要问什么问题会有帮助。另外,对于其他阅读本文的人,我发现了这些方便的填充函数。RightPad2Len感谢大家,我认为这有助于我的理解,并为我指明了正确的方向。知道要问什么问题会有帮助。另外,对于其他阅读本文的人,我发现了这些方便的填充函数。右pad2len