【GO】文件读写:判断文件是否存在

简介: 【GO】文件读写:判断文件是否存在

屏幕快照 2022-05-18 下午8.31.55.png

案例总结


在之前的案例已经学习过了go的函数,那么在这里就简单的使用一下


代码还是需要多写,咔咔之前是写PHP的,现在开始go发现go的语法很美啊!对go已经上瘾了


这个案例很是简单,主要就是一个函数的返回值,在函数的后边可以定义返回值,也可以不用定义,只需要定义返回类型也行。然后在函数内部在自己定义返回值


fileInfo不管是在打开文件,读文件,写文件,返回的都是一个文件的指针。


e如果成功就是nil 所以这里使用nil判断


这里有一个新的知识点那就是os.IsNotExist这个函数,这个函数是用来判断文件不存在的


代码

package main
import (
  "fmt"
  "os"
)
func main() {
  checkFile("D:/kaka.txt")
}
func checkFile(filepath string) (exist bool) {
  // 是一个文件的指针
  fileInfo, e := os.Stat(filepath)
  // &{kaka.txt 32 {1848971300 30801167} {1194119857 30801333} {1194119857 30801333} 0 216 0 0 {0 0} d:/kaka.txt 0 0 0 false}
  //fmt.Println(fileInfo)
  if fileInfo != nil && e == nil {
    exist = true
    fmt.Println("文件存在")
    // 判断文件是否不存在
  } else if os.IsNotExist(e) {
    fmt.Println("文件不存在")
    exist = false
  }
  // 这里返回可以带返回值的名,也可以不带
  return
  //return exist
}


相关文章
|
2月前
|
Go
Go 语言为什么不支持并发读写 map?
Go 语言为什么不支持并发读写 map?
|
2月前
|
存储 安全 NoSQL
Go map 读写性能优化 - 分片 map
Go map 读写性能优化 - 分片 map
36 1
|
2月前
|
XML 设计模式 JSON
Go - 关于 proto 文件的一点小思考?
Go - 关于 proto 文件的一点小思考?
34 0
|
3月前
|
安全 Go
Go语言map并发安全,互斥锁和读写锁谁更优?
Go并发编程中,`sync.Mutex`提供独占访问,适合读写操作均衡或写操作频繁的场景;`sync.RWMutex`允许多个读取者并行,适用于读多写少的情况。明智选择锁可提升程序性能和稳定性。示例展示了如何在操作map时使用这两种锁。
48 0
|
4月前
|
JavaScript
vue : 无法加载文件 D:\module\npm_module\npm_modules\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
vue : 无法加载文件 D:\module\npm_module\npm_modules\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
|
4月前
|
监控 Go
go语言并发实战——日志收集系统(十) 重构tailfile模块实现同时监控多个日志文件
go语言并发实战——日志收集系统(十) 重构tailfile模块实现同时监控多个日志文件
|
4月前
|
存储 监控 算法
go语言并发实战——日志收集系统(四) 利用tail包实现对日志文件的实时监控
go语言并发实战——日志收集系统(四) 利用tail包实现对日志文件的实时监控
|
4月前
|
Go
Go语言进阶篇——文件
Go语言进阶篇——文件
|
5月前
|
安全 Go
Golang深入浅出之-Go语言标准库中的文件读写:io/ioutil包
【4月更文挑战第27天】Go语言的`io/ioutil`包提供简单文件读写,适合小文件操作。本文聚焦`ReadFile`和`WriteFile`函数,讨论错误处理、文件权限、大文件处理和编码问题。避免错误的关键在于检查错误、设置合适权限、采用流式读写及处理编码。遵循这些最佳实践能提升代码稳定性。
58 0
|
5月前
|
存储 测试技术 Go
掌握Go语言:深入探究Go语言中的命令源码文件与参数处理技巧(3)
掌握Go语言:深入探究Go语言中的命令源码文件与参数处理技巧(3)
下一篇
无影云桌面