概述

调用 os 包即可。倡议先浏览 创立文件。

例子

间接写入

package mainimport "os"func main() {    code := `package mainfunc main() {    println("hello world")}`    err := os.WriteFile("/tmp/test_main.go", []byte(code), 0755)    if err != nil {        panic(err)    }}// $ go run main.go// cat /tmp/test_main.go// 输入如下 /**  package main  func main() {      println("hello world")  }*/

先获取文件句柄,而后写入

package mainimport (    "fmt"    "os")func main() {    file, err := os.OpenFile("/tmp/test_main.go", os.O_RDWR, 0755)    if err != nil {        panic(err)    }    // 记得敞开文件句柄    defer func() {        err = file.Close()        if err != nil {            panic(err)        }    }()    code := `package mainfunc main() {    println("hello world")}`    n, err := file.WriteString(code)    if err != nil {        panic(err)    }    err = file.Sync() // 同步到硬盘    if err != nil {        panic(err)    }    fmt.Printf("%d characters were successfully written\n", n)}// $ go run main.go// 输入如下 /**  55 characters were successfully written*/

分割我