Golang程序 创建一个新文件

Golang有两个内部函数 – os.create和ioutil.WriteFile来创建一个新的文件。文件 “是一个基于磁盘的文件,Go程序可以从中读取或写入。在Go中,操作系统可以用来代表一个文件。os包文件类型,提供了打开、读出、写入和操作文件的方法。

方法1:使用os.Create命令

在这种方法中,os.Create函数使用指定的名称来创建一个新的文件或截断一个现有的文件。当该函数运行完毕后,使用defer命令关闭该文件。

语法

Os.Create

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

算法

  • 第1步 – 创建一个包main,并在程序中声明fmt(格式包)和os包,其中main产生可执行代码,fmt帮助格式化输入和输出。
  • 第2步 – 在main函数中使用os.Create来创建一个具有指定名称的新文件。该函数同时返回一个*文件类型和一个错误值。



  • 第 3步 – 验证错误值是否为零。打印错误,如果它不是零,则退出函数。

  • 第 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.

方法2:使用ioutil.WriteFile函数

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

语法

ioutil.WriteFile

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

算法

  • 第1步 – 创建一个包main,并在程序中声明fmt(格式包)和io/ioutil包,其中main产生可执行代码,fmt帮助格式化输入和输出。
  • 第2步 – 在main中使用ioutil.WriteFile函数来创建一个新的文件,文件名是给定的,给定的字节片可以被写入其中。该函数会返回一个错误值。

  • 第3步 – 验证错误值是否为零。打印错误,如果不是零则退出函数。



  • 第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命令来执行该程序。