Go文件操作
Posted zzr-stdio
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Go文件操作相关的知识,希望对你有一定的参考价值。
Go文件操作
go对于文件的操作提供了多个包进行支持,目前学习了这部分,故对该包的使用记录一下。
package main
import (
"fmt"
"os"
"io"
)
func main(){
fi, err := os.Open("main.go")
if err != nil{
fmt.Println(err)
return
}
wi, err := os.Create("wo.go")
if err != nil{
fmt.Println(err)
return
}
data := make([]byte, 100)
for {
n, err := fi.Read(data)
if err != nil{
if err == io.EOF{
break//已经读取完了
}else{
fmt.Println(err)
}
}
w, err := wi.Write(data[0:n])
if err != nil{
fmt.Println(err)//出错了
return
}
if w != n{
fmt.Println("也是有错误的!")
return
}
fmt.Print(string(data[0:n]))
}
}
获取文件的属性
package main
import (
"fmt"
"os"
)
func main(){
fileInfo, err := os.Stat("main.go")
if err != nil{
fmt.Println(err)
}
fmt.Print(fileInfo)
}
其中FileInfo的结构如下:
type FileInfo interface {
Name() string // base name of the file 文件名
Size() int64 // length in bytes for regular files; system-dependent for others
Mode() FileMode // file mode bits
ModTime() time.Time // modification time
IsDir() bool // abbreviation for Mode().IsDir()
Sys() interface{} // underlying data source (can return nil)
}
以上是关于Go文件操作的主要内容,如果未能解决你的问题,请参考以下文章
npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段
解决go: go.mod file not found in current directory or any parent directory; see ‘go help modules‘(代码片段