package os
该文件主要定义一些关于文件的io操作,主要包括8个标志位:其中读写权限为必须指定的,对于文件读写权限判定采取mode & (O_RDONLY | O_WRONLY | O_RDWR)方式;
O_RDONLY //syscall.O_RDONLY(0x00000)只读
O_WRONLY //syscall.O_WRONLY(0x00001)只写
O_RDWR //syscall.O_RDWR(0x00002)可读可写
O_CREATE //syscall.O_CREAT(0x00040)创建文件
O_EXCL //syscall.O_EXCL(0x00080)配合O_CREATE使用,在创建文件时如果该文件已存在,则提示错误;open xxx: The file exists.
O_TRUNC //syscall.O_TRUNC(0x00200)清零
O_APPEND //syscall.O_APPEND(0x00400)续写
O_SYNC //syscall.O_SYNC(0x01000)同步IO,表示对文件的更改会强制同步到硬盘,而不是写入缓存区后由系统写入硬盘
定义了一些关于文件的IO方法,主要为:
func OpenFile(name string, flag int, perm FileMode) (*File, error) //通用文件打开函数,其中多个标志位可采取||方式携带,perm为文件权限
func Open(name string) (*File, error) //以只读方式打开文件O_RDONLY
func Create(name string) (*File, error) //创建文件,且打开文件方式为可读、可写、trunc;
func (f *File) Seek(offset int64, whence int) (ret int64, err error) //返回offset,其中whence可指定offset是相对于