来源:自学PHP网 时间:2019-08-07 16:47 作者:小飞侠 阅读:次
[导读] Golang的os标准库中常用函数的整理介绍...
os.Rename()这个函数的原型是func Rename(oldname, newname string) error,输入的是旧文件名,新文件名,然后返回一个error其实这个函数的真正实现用的syscall.Rename()然后通过MoveFile(from *uint16, to *uint16) (err error) = MoveFileW来重新命名
复制代码 代码如下:
import ( "fmt" "os" ) func main() { os.SameFile()这个函数的作用是检测文件的信息是否相同所谓文件信息指的是os.Stat(),函数原型是func SameFile(fi1, fi2 FileInfo) bool 举个例子
复制代码 代码如下:
import ( "fmt" "os" ) func main() { os.Setenv()这个函数是设置环境变量的很简单,函数原型func Setenv(key, value string) error输入对应的key-value字符串,返回error信息
复制代码 代码如下:
import ( "fmt" "os" ) func main() { os.Symlink()对于这个函数我只能说不支持windows平台的,创建软连接func Symlink(oldname, newname string) error
复制代码 代码如下:
import ( "fmt" "os" ) func main() { os.TempDir()这个函数很简单,返回你本地的系统temp目录,函数原型func TempDir() string,嘿嘿,做个对比别乱了
复制代码 代码如下:
import ( "fmt" "io/ioutil" "os" ) func main() { os.Truncate()改变文件的f.Size()这个就改变了文件内容的长度了,函数原型func Truncate(name string, size int64) error,记得哈第二个是int64
复制代码 代码如下:
import ( "fmt" "os" ) func main() { os.Create()这个函数是创见一个文件,函数的原型是func Create(name string) (file *File, err error)输入的是名称字符串类型,返回的是一个File的指针和一个error
复制代码 代码如下:
import ( "fmt" "os" "reflect" ) func main() { 这个函数的原理其实是这样的OpenFile(name, O_RDWR|O_CREATE|O_TRUNC, 0666) O_RDWR也就是说用读写的权限,O_CREATE然后文件存在忽略,不存在创建它,O_TRUNC文件存在截取长度为0,这就解释了为什么我们明明有这个文件,我擦,创建之后哭了~啥都没有了~~用的时候需谨慎,先判断文件是否存在~ os.OpenFile函数的原型是func OpenFile(name string, flag int, perm FileMode) (file *File, err error)要指定文件权限和打开的方式,就是我们上边所用到的
复制代码 代码如下:
import ( "fmt" "os" ) func main() { 这个就是上边的Create()只不过权限是0777以及下边的操作等大部分用到OpenFile() os.Open()这个函数是打开文件使用的,函数原型是func Open(name string) (file *File, err error),返回值就不说了一样的,它的其实原理是这样的OpenFile(name, O_RDONLY, 0)以读文件的模式打开
复制代码 代码如下:
import ( "fmt" "os" "reflect" ) func main() { os.Stat()这个是获取fileinfo的结构描述func Stat(name string) (fi FileInfo, err error)返回了Fileinfo这个结构,我们再前边也详细讲了 ,其实它是怎么实现的呢?因为我们没讲syscall所以我们就讲一个,譬如FileInfo底层获取fs := &fileStat{name: basename(name)}然后后边逻辑大家可以看源代码
复制代码 代码如下:
import ( "fmt" "os" ) func main() { os.Fd()返回文件的句柄,函数原型是func (file *File) Fd() uintptr函数是这样的uintptr(file.fd) 返回的是文件的句柄,句柄是什么?句柄,是整个windows编程的基础。一个句柄是指使用的一个唯一的整数
复制代码 代码如下:
import ( "fmt" "os" ) func main() { os.Pipe()这个函数获取的函数的读写指针,函数原型func Pipe() (r *File, w *File, err error)
复制代码 代码如下:
import ( "fmt" "os" ) func main() { os.NewFile()函数原型是func NewFile(fd uintptr, name string) *File 第一个传入的是句柄,然后是文件名称,这个函数并不是真的创建了一个文件,是新建一个文件不保存,然后返回文件的指针
复制代码 代码如下:
import ( "fmt" "os" ) func main() { } (f *File).Chdir()修改工作目录,函数原型func (f *File) Chdir() error,这个时候f必须是目录了,但是吧这个不支持windows
复制代码 代码如下:
import ( "fmt" "os" ) func main() { |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com