Go 文件操作相关方法

简介: Go 文件操作相关方法

在Go语言中,可以使用 osio/ioutil 包来进行文件操作。以下是一些常用的文件操作方法:

  1. 创建文件:
file, err := os.Create("filename.txt")
if err != nil {
    log.Fatal(err)
}
defer file.Close()
  1. 打开文件:
file, err := os.Open("filename.txt")
if err != nil {
    log.Fatal(err)
}
defer file.Close()
  1. 写入文件:
file, err := os.OpenFile("filename.txt", os.O_WRONLY|os.O_CREATE, 0644)
if err != nil {
    log.Fatal(err)
}
defer file.Close()
 data := []byte("Hello, World!")
_, err = file.Write(data)
if err != nil {
    log.Fatal(err)
}
  1. 读取文件:
file, err := os.Open("filename.txt")
if err != nil {
    log.Fatal(err)
}
defer file.Close()
 data := make([]byte, 1024)
count, err := file.Read(data)
if err != nil {
    log.Fatal(err)
}
fmt.Println(string(data[:count]))
  1. 删除文件:
err := os.Remove("filename.txt")
if err != nil {
    log.Fatal(err)
}
• 1
• 2
• 3
• 4
  1. 重命名文件:
err := os.Rename("oldname.txt", "newname.txt")
if err != nil {
    log.Fatal(err)
}
  1. 复制文件:
sourceFile, err := os.Open("source.txt")
if err != nil {
    log.Fatal(err)
}
defer sourceFile.Close()
 destinationFile, err := os.Create("destination.txt")
if err != nil {
    log.Fatal(err)
}
defer destinationFile.Close()
 _, err = io.Copy(destinationFile, sourceFile)
if err != nil {
    log.Fatal(err)
}
  1. 获取文件信息
fileInfo, err := os.Stat("filename.txt")
if err != nil {
    log.Fatal(err)
}
fmt.Println("文件名称:", fileInfo.Name())
fmt.Println("文件大小:", fileInfo.Size())
fmt.Println("是否为目录:", fileInfo.IsDir())
fmt.Println("修改时间:", fileInfo.ModTime())

这些只是文件操作的一些基本方法,还有其他更复杂的操作。你可以查阅Go语言的官方文档来了解更多详细的文件操作方法和函数。

目录
相关文章
|
1天前
|
存储 设计模式 Cloud Native
云原生系列Go语言篇-类型、方法和接口 Part 1
通过前面章节的学习,我们知道Go是一种静态类型语言,包含有内置类型和用户定义类型。和大部分现代编程语言一样,Go允许我们对类型关联方法。它也具备类型抽象,可以编写没有显式实现的方法。
54 0
|
1天前
|
Go
Go string bytes、strings、strconv和unicode包相关方法
Go string bytes、strings、strconv和unicode包相关方法
31 0
|
6月前
|
设计模式 算法 编译器
Go方法特性详解:简单性和高效性的充分体现2
Go方法特性详解:简单性和高效性的充分体现
36 0
|
7月前
|
SQL 关系型数据库 Go
Go语言微服务框架 - 12.ORM层的自动抽象与自定义方法的扩展
随着接口参数校验功能的完善,我们能快速定位到接口层面的参数问题;而应用服务的分层代码,也可以通过log的trace-id发现常见的业务逻辑问题。 但在最底层与数据库的操作,也就是对GORM的使用,经常会因为我们不了解ORM的一些细节,导致对数据的CRUD失败,或者没有达到预期效果。这时,我们希望能在ORM这一层也有一个通用的解决方案,来加速问题的排查。
48 0
|
1天前
|
存储 Go 开发者
【Go语言专栏】Go语言中的结构体与方法
【4月更文挑战第30天】Go语言中的结构体是聚合数据类型,用于自定义复杂类型。通过`type`和`struct`关键字定义结构体,包含多个不同类型的字段。结构体实例化后,使用点操作符访问字段。方法为结构体添加行为,定义时需指定接收者(值或指针)。方法调用同样使用点操作符。匿名结构体无需命名,嵌套结构体可构建复杂数据结构。选择值或指针接收者取决于是否需要修改结构体状态。理解并熟练运用结构体和方法是编写高效Go代码的关键。
|
1天前
|
Go 开发者
Golang深入浅出之-Go语言方法与接收者:面向对象编程初探
【4月更文挑战第22天】Go语言无类和继承,但通过方法与接收者实现OOP。方法是带有接收者的特殊函数,接收者决定方法可作用于哪些类型。值接收者不会改变原始值,指针接收者则会。每个类型有相关方法集,满足接口所有方法即实现该接口。理解并正确使用这些概念能避免常见问题,写出高效代码。Go的OOP机制虽不同于传统,但具有灵活性和实用性。
23 1
|
6月前
|
Cloud Native Go
GO语言初始化数据结构的方法你知道吗?
GO语言初始化数据结构的方法你知道吗?
|
1天前
|
设计模式 缓存 安全
一篇文章带你吃透Go语言的Atomic和Channel--实战方法
一篇文章带你吃透Go语言的Atomic和Channel--实战方法
31 0
|
1天前
|
编译器 Go
go语言第六章(结构体与方法)
go语言第六章(结构体与方法)
24 0
|
1天前
|
存储 Cloud Native Java
云原生系列Go语言篇-类型、方法和接口 Part 2
虽然Go并发(在并发一章讲解)是聚光灯下的宠儿,便Go设计中真正的明星是其隐式接口,也是Go中唯一的抽象类型。下面就来学习它的伟大之处。
53 0

热门文章

最新文章