Go语言文件操作的方法
本文实例讲述了Go语言文件操作的方法。分享给大家供大家参考。具体如下:
关闭文件:
func (file *File) Close() os.Error {
if file == nil {
return os.EINVAL
}
e := syscall.Close(file.fd)
file.fd = -1 // so it can't be closed again
if e != 0 {
return os.Errno(e)
}
return nil
}
文件读取:
func (file *File) Read(b []byte) (ret int, err os.Error) {
if file == nil {
return -1, os.EINVAL
}
r, e := syscall.Read(file.fd, b)
if e != 0 {
err = os.Errno(e)
}
return int(r), err
}
写文件:
func (file *File) Write(b []byte) (ret int, err os.Error) {
if file == nil {
return -1, os.EINVAL
}
r, e := syscall.Write(file.fd, b)
if e != 0 {
err = os.Errno(e)
}
return int(r), err
}
获取文件名:
func (file *File) String() string {
return file.name
}
希望本文所述对大家的Go语言程序设计有所帮助。
相关推荐
-
Go语言扫描目录并获取相关信息的方法
本文实例讲述了Go语言扫描目录并获取相关信息的方法.分享给大家供大家参考.具体分析如下: 前言:最近看到Go里面有一个func很容易就可以扫描整个目录,并且可以得到相应的目录和文件信息,所以我将其进行了封装,拿到file info的所有信息 这样就可以方便的做其它用途了. 直接上代码,代码基于Go version 1 复制代码 代码如下: package main import ( "path/filepath" "os" "fla
-
Go语言编程中判断文件是否存在是创建目录的方法
判断文件是否存在 os.IsExists()函数和os.IsNotExists(),他们的函数的原形是func IsExist(err error) bool func IsNotExist(err error) bool 都是传入一个err返回bool 这里注意了 err已经定义好了 复制代码 代码如下: /* var ( ErrInvalid = errors.New("invalid argument") ErrPermission = errors.
-
GO语言文件的创建与打开实例分析
本文实例分析了GO语言文件的创建与打开用法.分享给大家供大家参考.具体分析如下: 文件操作是个很重要的话题,使用也非常频繁,熟悉如何操作文件是必不可少的.Golang 对文件的支持是在 os package 里,具体操作都封装在 type File struct {} 结构体中. 一.func Open(name string) (file *File, err error) 再简单不过了,给一个路径给它,返回文件描述符,如果出现错误就会返回一个 *PathError. 这是一个只读打开模式,实
-
go语言遍历文件夹示例
用python遍历文件夹很方便,在go的世界里,我也需要这样的功能.找了找文档,里面有这个功能(具体参考这里:http://golang.org/pkg/path/filepath/ )-- 好,不废话了,我也想早点睡,直接上代码. 代码如下: 复制代码 代码如下: /* File : getFilelist.go Author : Mike E-Mail : Mike_Zhang@live.com */ package main import ( "path/fi
-
go语言文件正则表达式搜索功能示例
本文实例讲述了go语言文件正则表达式搜索功能.分享给大家供大家参考,具体如下: 复制代码 代码如下: package main import ( "fmt" "os" "path/filepath" "regexp" ) func main() { // 命令行参数 args := os.Args // 检查参数 if len(args) == 1 {
-
GO语言实现列出目录和遍历目录的方法
本文实例讲述了GO语言实现列出目录和遍历目录的方法.分享给大家供大家参考.具体如下: GO语言获取目录列表用 ioutil.ReadDir(),遍历目录用 filepath.Walk(),使用方法课参考本文示例. 具体示例代码如下: 复制代码 代码如下: package main import ( "fmt" "io/ioutil" "os" "path/filepath" "strings" )
-
GO语言实现简单的目录复制功能
本文实例讲述了GO语言实现简单的目录复制功能.分享给大家供大家参考.具体实现方法如下: 创建一个独立的 goroutine 遍历文件,主进程负责写入数据.程序会复制空目录,也可以设置只复制以 ".xx" 结尾的文件. 严格来说这不是复制文件,而是写入新文件.因为这个程序是创建新文件,然后写入复制数据的.我们一般的 copy 命令是不会修改文件的 ctime(change time) 状态的. 代码如下: 复制代码 代码如下: // 一个简单的目录复制程序:一个独立的 goroutine
-
Go语言正则表达式用法实例小结【查找、匹配、替换等】
本文实例讲述了Go语言正则表达式用法.分享给大家供大家参考,具体如下: Go语言的正则表达式使用很简单,示例代码: 复制代码 代码如下: package test import ( "fmt" "regexp" ) func RegixBase() { //findTest() //findIndexTest() //findStringTest() //findChinesString() //findNum
-
Go语言的GOPATH与工作目录详解
GOPATH设置 go 命令依赖一个重要的环境变量:$GOPATH1 (注:这个不是Go安装目录.下面以笔者的工作目录为说明,请替换自己机器上的工作目录.) 在类似 Unix 环境大概这样设置: 复制代码 代码如下: export GOPATH=/home/apple/mygo 为了方便,应该把新建以上文件夹,并且把以上一行加入到 .bashrc 或者 .zshrc 或者自己的 sh 的配置文件中. Windows 设置如下,新建一个环境变量名称叫做GOPATH: 复制代码 代码如下: GOPA
-
Go语言正则表达式示例
本文实例讲述了Go语言正则表达式.分享给大家供大家参考,具体如下: 复制代码 代码如下: package main import "bytes" import "fmt" import "regexp" func main() { //这个测试一个字符串是否符合一个表达式. match, _ := regexp.MatchString("p([a-z]+)ch", "peach") fmt.
随机推荐
- json传值以及ajax接收详解
- java thread start()和run()方法简析
- Java中SpringSecurity密码错误5次锁定用户的实现方法
- 自己常用到的自定义公共类(已测试通过)
- PHP在字符断点处截断文字的实现代码
- 通过VS中的数据源选择对话框简单实现数据库连接配置[图]
- Java求s=a+aa+aaa+aaaa+aa...a 5个数相加的值
- 世界上最健康的作息时间表分享
- 批处理bat计算上个月最后一天的日期
- 微信小程序 request接口的封装实例代码
- Nginx 反向代理并缓存及缓存清除的方法
- jQuery获取attr()与prop()属性值的方法及区别介绍
- jQuery 方法大全方便学习参考
- 基于jQuery架构javascript基础体系
- 超实用的JavaScript代码段 附使用方法
- 邮箱下拉自动填充选择示例代码附图
- 防止按钮在短时间内被多次点击的方法
- 每天一个Linux命令(9)
- android手机获取唯一标识的方法
- 改变vue请求过来的数据中的某一项值的方法(详解)