可以使用os包中的OpenFile函数来实现文件的覆盖和创建。

示例代码:

package main

import (
	"fmt"
	"os"
)

func main() {
	filename := "test.txt"
	content := "Hello, world!"

	// 判断文件是否存在
	if _, err := os.Stat(filename); os.IsNotExist(err) {
		// 文件不存在,创建文件并写入内容
		file, err := os.Create(filename)
		if err != nil {
			fmt.Println("Failed to create file:", err)
			return
		}
		defer file.Close()

		_, err = file.WriteString(content)
		if err != nil {
			fmt.Println("Failed to write content:", err)
			return
		}

		fmt.Println("File created and content written.")
	} else {
		// 文件存在,覆盖文件内容
		file, err := os.OpenFile(filename, os.O_WRONLY|os.O_TRUNC, 0666)
		if err != nil {
			fmt.Println("Failed to open file:", err)
			return
		}
		defer file.Close()

		_, err = file.WriteString(content)
		if err != nil {
			fmt.Println("Failed to write content:", err)
			return
		}

		fmt.Println("File overwritten with new content.")
	}
}

代码执行结果:

File created and content written.

再次执行代码,结果为:

File overwritten with new content.
``
golang判断文件是否存在如果存在则覆盖之前内容不存在创建文件内容

原文地址: https://www.cveoy.top/t/topic/fdhA 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录