File Write

概述 #

调用 os 包即可。建议先阅读 创建文件

例子 #

直接写入 #

package main

import "os"

func main() {
	code := `
package main

func 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 main

import (
	"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 main

func 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
*/

转载申请

本作品采用 知识共享署名 4.0 国际许可协议 进行许可,转载时请注明原文链接,图片在使用时请保留全部内容,商业转载请联系作者获得授权。

© 蛮荆 | 陕公网安备 61011302001681 号 | 陕ICP备2023004378号-1 | Rendered by Hugo