Go 语言中的有关档案操作的工具,不可不提到标准函式库里边的io/ioutil 和 os package,我们将讲解此套件的一些函式,他们的用法及功能。
io/ioutil
这个函式很显然,是读取该档案夹里头的档案:
package main
import (
"fmt"
"io/ioutil"
"log"
)
func main() {
datas, err := ioutil.ReadDir(".")
if err != nil {
fmt.Println(err)
}
for _, file := range datas {
fmt.Println(datas.Name())
}
}
可以执行看看,会印出该档案夹,所有档案及资料夹。
ReadFile这个函式非常容易使用,我们直接看以下范例:
package main
import (
"fmt"
"io/ioutil"
)
func main() {
fileName := "/dir/filename"
// 读取档案
data, err := ioutil.ReadFile(fileName)
if err != nil {
panic(err)
}
fmt.Println(string(data))
}
上述程序码,先读取名字为 filename 的文件,并返回文件中的内容。这里可以放多种档案,例如 go 档、csv 档或 txt 文字档等等。
如果想要开启档案後,做一些写入的操作,可以使用 os 套件,它允许我们先开启一个档案,然後再执行一些对档案的操作,如下列程序码:
package main
import (
"fmt"
"os"
)
func main() {
// 读取档案,若档案不存在,则创建它
f, err := os.OpenFile("log.csv", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
if err != nil {
fmt.Println(err)
}
if _, err := f.Write([]byte("appended some log\n")); err != nil {
f.Close()
fmt.Println(err)
}
if err := f.Close(); err != nil {
fmt.Println(err)
}
}
上述程序码,我们开启一个 csv 档,并执行一个写入的动作。
今天介绍 Go 语言的档案处理,带给大家两个比较常使用的套件,希望对读者们有所帮助,感谢今天的阅读!
>>: AI ninja project [day 29] Dialogflow--聊天客服机器人
Cloud Run 是这次要介绍的最後一种部属服务方式。它是一种基於 Container 的 Ser...
运用到的观念 border搭配伪元素制作出三角形区块 绝对定位&相对定位 用:hover ...
平常我们很少关注编译和链结的过程,因为开发环境都集成开发的环境,比如Visual Studio、Ec...
引导列 HTML <ul class="menu"> <li&...
变数(variable)-Number Day05 - 变数(02):说明变数的计算与跟字串搭配的结...