【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
}


相关文章
|
4月前
|
Go
Go 语言为什么不支持并发读写 map?
Go 语言为什么不支持并发读写 map?
|
26天前
|
Unix Linux Go
go进阶编程:Golang中的文件与文件夹操作指南
本文详细介绍了Golang中文件与文件夹的基本操作,包括读取、写入、创建、删除和遍历等。通过示例代码展示了如何使用`os`和`io/ioutil`包进行文件操作,并强调了错误处理、权限控制和路径问题的重要性。适合初学者和有经验的开发者参考。
|
28天前
|
算法 大数据 Go
Go文件操作:掌握Go的文件读写与操作技巧
本文介绍了Go语言的文件操作功能,包括文件的打开、读写和关闭。Go语言通过`os`和`io`包提供了丰富的文件操作接口,使开发者能够轻松实现文件的读写和管理。文章详细讲解了核心概念、具体操作步骤和代码示例,并探讨了实际应用场景和未来发展趋势。
|
28天前
|
存储 前端开发 Go
Go 文件的读取操作
本文介绍了 Go 语言标准库中的 `os` 包和 `bufio` 包,重点讲解了 `os` 包中的 `Open` 和 `OpenFile` 函数及 `File` 结构体的 `Read` 方法,以及 `bufio` 包中的 `NewReader` 函数和 `Reader` 结构体的 `ReadString` 方法。通过示例代码展示了如何使用这些方法高效读取文件,减少磁盘操作。
|
2月前
|
存储 Go 文件存储
M.2移动硬盘打造Win To Go系统:高效分区存储文件全攻略
【10月更文挑战第12天】本文详细介绍了如何使用M.2移动硬盘制作Win To Go系统。首先,需准备合适容量与接口类型的M.2硬盘及硬盘盒,并获取Windows镜像文件和分区工具。接着,通过Rufus软件将镜像写入硬盘。文中还提供了分区策略,包括系统分区(约80-120GB)、软件分区(根据需求设定)和数据分区(剩余空间),并指导如何使用DiskGenius或Windows自带工具进行分区。最后,强调了对各分区文件的有效管理和定期备份的重要性。
|
2月前
|
存储 固态存储 Go
M.2移动硬盘打造Win To Go系统:高效分区存储文件全攻略
【10月更文挑战第11天】Win To Go 是一种将 Windows 系统安装在 M.2 移动硬盘上的技术,便于用户携带自定义系统跨设备使用。需准备高性能 M.2 硬盘及合适硬盘盒,并使用 DiskGenius 或 Rufus 进行分区与系统安装。系统分区用于安装 Windows,其余分区可根据需求存储工作或娱乐文件,便于管理和备份。
147 2
|
4月前
|
存储 安全 NoSQL
Go map 读写性能优化 - 分片 map
Go map 读写性能优化 - 分片 map
48 1
|
4月前
|
XML 设计模式 JSON
Go - 关于 proto 文件的一点小思考?
Go - 关于 proto 文件的一点小思考?
51 0
|
5月前
|
安全 Go
Go语言map并发安全,互斥锁和读写锁谁更优?
Go并发编程中,`sync.Mutex`提供独占访问,适合读写操作均衡或写操作频繁的场景;`sync.RWMutex`允许多个读取者并行,适用于读多写少的情况。明智选择锁可提升程序性能和稳定性。示例展示了如何在操作map时使用这两种锁。
61 0
|
6月前
|
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