php入门到就业线上直播课:进入学习Apipost = Postman + Swagger + Mock + Jmeter 超好用的API调试工具:点击使用
(资料图)
本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。
在 Golang 中,我们需要操作 文件,那么首先我们就必须要打开文件,打开文件操作完毕后,还需要关闭文件,如果只打开文件,不关闭文件,会造成系统资源的浪费。
在 Golang 中,打开文件使用 Open 函数,关闭文件使用 Close 函数,打开文件、关闭文件以及大多数文件操作都涉及到一个很重要的 os.File 结构体。
Go语言os.File结构体
语法
type File struct {*file // os specific}type file struct {pfd poll.FDname stringdirinfo *dirInfo // nil unless directory being readappendMode bool // whether file is opened for appending}
说明
我们看到,os.File 结构体里面包含了一个 file 指针,file 指针结构体中有四个成员,分别为:
成员变量 | 描述 |
---|---|
pfd | 是一个 FD 结构体类型,是一个文件的唯一标志,每一个被打开的文件在操作系统中,都会有一个文件标志符,来唯一标识一个文件,就是这里的 pfd。 |
name | 文件名。 |
dirinfo | 文件的路径信息,也是一个结构体。 |
appendMode | 是一个 bool类型,表明该文件是否可以被追加写入内容。 |
Go语言close函数--关闭文件
语法
func (file *File) Close() error
参数
file : 打开的文件。
返回值
error:如果关闭失败,则返回错误信息,否则,返回 nil。
说明
使用 File 指针来调用 Close 函数,如果关闭失败会返回 error 错误信息。
案例
打开和关闭文件
使用 Open 函数打开文件,使用 Close 函数关闭文件
package mainimport ("fmt""os")func main() {fileName := "C:/haicoder.txt"file, err := os.Open(fileName)if err != nil{fmt.Println("Open file err =", err)return}fmt.Println("Open file success")if err := file.Close(); err != nil{fmt.Println("Close file err =", err)return}fmt.Println("Close file success")}
我们使用 os.Open 打开了 “C:/haicoder.txt” 文件,因为这个文件是存在的,所以打开和关闭文件都成功,这里调用关闭文件是调用的 os.Open 返回的 File 指针来关闭的。
接着,我们删除 “C:/haicoder.txt” 文件,再一次运行程序,程序输出如下:
我们删除文件后,我们看到,再次打开文件,程序报错,因为文件不存在。
更多编程相关知识,请访问:编程视频!!
以上就是golang怎么关闭文件的详细内容,更多请关注php中文网其它相关文章!