如何在golang中写入txt文件中的循环输出

如何在golang中写入txt文件中的循环输出,go,Go,我是go的新手,我想知道,如何在golang的txt文件中编写循环的输出我的代码 package main import ( "fmt" "log" "os" ) func main() { for i := 1; i <= 10; i++ { if i%2 == 0 { continue } fmt.Printf("%d ", i) file, err := os

我是go的新手,我想知道,如何在golang的txt文件中编写循环的输出我的代码

package main

import (
    "fmt"
    "log"
    "os"
)

func main() {

    for i := 1; i <= 10; i++ {
        if i%2 == 0 {
            continue
        }
        fmt.Printf("%d ", i)
        file, err := os.Create("result.txt")
        if err != nil {
            log.Fatal("Cannot create file", err)
        }
        defer file.Close()

        fmt.Fprintf(file, " x equal to %d", i)

    }

}
主程序包
进口(
“fmt”
“日志”
“操作系统”
)
func main(){

对于i:=1;i来说,问题在于每次循环迭代都要重新创建文件,这就是为什么文件中唯一的值是在循环中写入的最后一个值

试试下面的方法

package main

import (
    "fmt"
    "log"
    "os"
)

func main() {
    file, err := os.Create("result.txt")
    if err != nil {
        log.Fatal("Cannot create file", err)
    }
    defer file.Close()

    for i := 1; i <= 10; i++ {
        if i%2 == 0 {
            continue
        }
        fmt.Printf("%d ", i)
        fmt.Fprintf(file, " x equal to %d", i)
    }
}
主程序包
进口(
“fmt”
“日志”
“操作系统”
)
func main(){
文件,err:=os.Create(“result.txt”)
如果错误!=零{
log.Fatal(“无法创建文件”,错误)
}
延迟文件。关闭()

因为我:=1;我非常感谢你,它很管用,你的想法真是天才