Go语言程序创建新文件


Go 语言有两个内部函数——`os.Create` 和 `ioutil.WriteFile` 用于创建新文件。“文件”是指 Go 程序可以读取或写入的基于磁盘的文件。在 Go 中,可以使用操作系统来表示文件。`os` 包中的文件类型提供了打开、读取、写入和操作文件的方法。

方法一:使用 `os.Create` 命令

在此方法中,`os.Create` 函数使用指定名称创建新文件或截断现有文件。函数运行完成后,使用 `defer` 命令关闭文件。

语法

Os.Create

在 Go 编程语言中,`Create` 是 `os` 包的一部分,此函数创建一个新文件,它包含一个参数,即要创建的文件名。

算法

  • 步骤 1 − 创建一个 `main` 包,并在程序中声明 `fmt`(格式化包)和 `os` 包,其中 `main` 生成可执行代码,`fmt` 帮助格式化输入和输出。

  • 步骤 2 − 在 `main` 函数中使用 `os.Create` 创建具有指定名称的新文件。该函数返回 `*File` 类型和错误值。

  • 步骤 3 − 验证错误值是否为零。如果它不是 `nil`,则打印错误并退出函数。

  • 步骤 4 − 函数运行完成后,使用 `defer` 语句关闭文件。

  • 步骤 5 − 使用 `fmt.Println()` 函数(其中 `ln` 表示换行)打印消息以显示文件已成功生成。

示例

在此示例中,我们将使用 `os.Create` 函数创建新文件。让我们来看一下代码。

package main
import (
   "fmt"
   "os"
)

//create main function to execute the program
func main() {
   file, err := os.Create("myfile.txt")  //create a new file
   if err != nil {
      fmt.Println(err)
      return
   }
   defer file.Close()
   fmt.Println("File is created successfully.")  //print the success on the console
}

输出

File is created successfully.

方法二:使用 `ioutil.WriteFile` 函数

在此方法中,该函数需要三个参数:文件名、将写入文件的字节切片和文件模式。在本例中,0644 代表 Unix 风格的文件模式,它授予所有者读、写和读访问权限,而授予其他人读权限。与 `os.Create` 方法相比,此方法更清晰、更容易使用,但对创建的文件的控制较少。

语法

ioutil.WriteFile

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

算法

  • 步骤 1 − 创建一个 `main` 包,并在程序中声明 `fmt`(格式化包)和 `io/ioutil` 包,其中 `main` 生成可执行代码,`fmt` 帮助格式化输入和输出。

  • 步骤 2 − 在 `main` 函数中使用 `ioutil.WriteFile` 函数创建具有给定名称的新文件,并将给定的字节切片写入其中。该函数返回一个错误值。

  • 步骤 3 − 验证错误值是否为零。如果它不是 `nil`,则打印错误并退出函数。

  • 步骤 4 − 打印消息以显示文件已成功生成。

示例

在此示例中,我们将使用 `ioutil.WriteFile` 创建新文件。让我们来看一下代码。

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

//create main function to execute the program
func main() {
   err := ioutil.WriteFile("myfile.txt", []byte("Hello, alexa!"), 0644) //create a new file
   if err != nil {
      fmt.Println(err)
      return
   }
   fmt.Println("File is created successfully.") //print the success on the console
}

输出

File is created successfully.

结论

我们使用两个示例执行了创建新文件的程序。在第一个示例中,我们使用了 `os.Create` 命令,在第二个示例中,我们使用了 `ioutil.WriteFile` 命令来执行程序。

更新于:2023年2月21日

5K+ 浏览量

启动您的 职业生涯

完成课程获得认证

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