概述
调用 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*/