Go语言程序:以追加模式打开文件,文件不存在则创建


在 Go 语言中,我们可以使用 `os` 包的 `os.OpenFile` 函数和 `ioutil` 包的 `ioutil.WriteFile()` 函数来追加文件。然后,我们将使用 `WriteString()` 函数来打印结果。在这篇文章中,我们将学习如何创建一个 Go 语言程序,以追加模式打开文件,如果文件不存在则创建。

语法

os.OpenFile(name/path string, flag int, perm FileMode)

`OpenFile()` 函数位于 `os` 包中。该函数接受三个参数。一个是待打开的文件名,后跟用于打开文件的整数类型指令。这表示文件打开的模式,例如只读、只写、读写模式等。该函数返回两个值作为结果,一个是可以在其上执行不同操作(例如写入或追加)的文件(基于传递给函数的文件模式),另一个是错误文件。

ioutil.WriteFile()

在 Go 中,`WriteFile` 属于 `ioutil` 包,包含三个参数:第一个是写入数据的文件名;第二个是要写入的数据;第三个是文件权限。如果函数成功执行,数据将被写入文件。

file.WriteString()

在 Go 编程语言中,`WriteString` 方法用于将字符串写入文件。字符串作为参数 `str` 传递给函数。

算法

  • 导入所需的包。

  • 创建一个主函数

  • 使用内置函数在主函数中以追加模式打开文件

  • 打印文件是否成功打开

示例 1

在这个例子中,我们将编写一个 Go 语言程序,使用 `os` 包的函数以追加模式打开文件。我们将使用 “`os.OpenFile`” 函数以追加模式打开文件。

package main

import (
   "fmt"
   "os"
)

func main() {
   // Open the file in append mode
   file, err := os.OpenFile("newfile.txt", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
   if err != nil {
      fmt.Println(err)
      return
   }
   defer file.Close()

   // Write to the file
   _, err = file.WriteString("Hello, World!\n")
   if err != nil {
      fmt.Println(err)
   } else {
      fmt.Println("The file is successfully opened in append mode")
   }
}

输出

The file is successfully opened in append mode

示例 2

在这个例子中,我们将编写一个 Go 语言程序,使用 `ioutil` 包中的各种函数以追加模式打开文件。我们将使用 `ioutil` 包的 `WriteFile()` 函数来实现结果。

package main
import (
   "fmt"
   "io/ioutil"
)

func main() {
   // Write to the file
   err := ioutil.WriteFile("sample.txt", []byte("Hello, World!\n"), 0644)
   if err != nil {
      fmt.Println(err)
   } else {
      fmt.Println("The file is successfully opened in append mode")
   }
}

输出

The file is successfully opened in append mode

结论

我们已经成功编译并执行了一个 Go 语言程序,该程序以追加模式打开文件,并附带示例。我们查看了两个示例:使用 “`os`” 包和使用 “`ioutil`” 包。这两个示例都为处理文件提供了高级接口,并简化了文件 I/O 操作。

更新于:2023年5月3日

450 次浏览

启动你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.