Go语言文件操作本文主要介绍了Go语言中文件读写的相关操作 。
文件是什么?
计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合 , 文件分为文本文件和二进制文件 。
os.Open() 函数能够打开一个文件,返回一个 *File 和一个 err。对得到的文件实例调用 close() 方法能够关闭文件 。
为了防止文件忘记关闭,我们通常使用defer注册文件关闭语句 。
Read方法定义如下:
它接收一个字节切片,返回读取的字节数和可能的具体错误,读到文件末尾时会返回 0 和 io.EOF。举个例子:
使用for循环读取文件中的所有数据 。
bufio是在file的基础上封装了一层API,支持更多的功能 。
io/ioutil 包的 ReadFile 方法能够读取完整的文件 , 只需要将文件名作为参数传入 。
os.OpenFile() 函数能够以指定模式打开文件,从而实现文件写入相关功能 。
其中:
name :要打开的文件名flag :打开文件的模式 。模式有以下几种:
perm :文件权限,一个八进制数 。r(读)04,w(写)02,x(执行)01 。
go 程序生成 coredump 文件如果需要针对当前用户一直生效,那么需要在~/.bash_profile追加:
如果需要针对所有用户生效,那么需要在/etc/profile追加:
然后再对应执行 source ~/.bash_profile或者source /etc/profile
测试:
编译运行,然后键盘敲 Ctrl + \,会发现当前目录生成了core文件 。
在/proc/sys/kernel/core_pattern可以设置格式化的core文件保存位置和文件名 。
比如: core-%e-%p-%t表示在当前目录生成 "core-命令-pid-时间戳" 为文件名的core文件
比如: /cfg/core-%e-%p-%t表示在/cfg下生成 "core-命令-pid-时间戳" 为文件名的core文件
注意: /proc/sys/kernel/core_pattern不能直接编辑,可以用echo core-%e-%p-%t/proc/sys/kernel/core_pattern
使用Go语言 生成iOS SDKbrew install go
输入 brew info go或者go env即可查看当前安装的golang版本信息
注意:千万不要把GOPATH设置成go的安装路径,可以自己在用户目录下创建一个目录,例如mygo
一般安装好go之后,使用go env查看一下当前环境 。此时显示出来的GOROOT就是你使用brew安装go的安装目录,这个路径要记下来 。接下来要在bash_profile文件中进行配置 。
使用vim ~/.bash_profile
然后在这个文件中进行编辑,下面以我的电脑为例,路径这种要根据不同人的情况而定
GOROOT=/usr/local/Cellar/go/1.10.1/libexec (改成自己的go安装目录go env命令可查看)
export GOROOT (不用动)
export GOPATH=/Users/jiangqiaowei/mygo (创建一个自己的文件夹 管理go相关内容)
export GOBIN=$GOPATH/bin (不用改)
export PATH=$PATH:$GOBIN:$GOROOT/bin (不用改)
$ go get golang.org/x/mobile/cmd/gomobile (需要墙)
gomobile init
$ go get -d golang.org/x/mobile/example/bind/...
$ cd $GOPATH/src/golang.org/x/mobile/example/bind
$ gomobile bind -target=ios golang.org/x/mobile/example/bind/hello
此命令在ios/路径下生成bind.xcodeprojxcode项目以及 在bind/目录下生成一个 hello.framework
拖入项目即可使用
Go语言编译成aar并调试 go及gomobile的环境配置这里就不介绍了,直接说aar的生成和使用 。
1. 设置环境变量GOPATH
GOPATH的值可以有多个,用半角分号间隔 , 但不能以其结束,设置完成后需要重新做 gomobile init。
2. 在GOPATH里创建src文件夹 , 用于存放go的包和源文件
3. 在src中创建hello文件夹(go文件的包名)
4. 在hello中创建hello.go文件,并输入内容
5. 编译
执行命令: gomobile bind -target=android hello
推荐阅读
- linux基本命令测试,linux 测试命令
- 武隆外卖小程序,武隆美团外卖的电话
- css颜色渐变动态,css实现渐变
- 如何做新媒体图片,如何做新媒体图片素材
- python的bar函数 python中bar函数
- html中标签的作用域,html各标签的作用
- python爬虫新建文件夹,python新建文件夹代码
- sap关了,sap关了账期冲销凭证需要做到下个月吗
- linux限制命令 linux限制用户内存