Go by Example 中文版: 写文件
时间:2022-07-25
本文章向大家介绍Go by Example 中文版: 写文件,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Go by Example 中文版:写文件
在 Go 中,写文件与我们前面看过的读文件方法类似。
对应的Go语言代码示例如下:
//Go by Example 中文版: 写文件
//https://gobyexample-cn.github.io/writing-files
//在 Go 中,写文件与我们前面看过的读文件方法类似。
package main
import (
"bufio"
"fmt"
"io/ioutil"
"os"
)
func check(e error) {
if e != nil {
panic(e)
}
}
func main() {
//开始!这里展示了如何写入一个字符串(或者只是一些字节)到一个文件。
d1 := []byte("hellongon")
err := ioutil.WriteFile("/tmp/dat1", d1, 0644)
check(err)
//对于更细粒度的写入,先打开一个文件。
f, err := os.Create("/tmp/dat2")
check(err)
//打开文件后,一个习惯性的操作是:立即使用defer调用文件的Close。
defer f.Close()
//您可以按期望的那样 Write 字节切片。
d2 := []byte{115, 111, 109, 101, 10}
n2, err := f.Write(d2)
check(err)
fmt.Printf("wrote %d bytesn", n2)
//WriteString也是可用的。
n3, err := f.WriteString("writesn")
fmt.Printf("wrote %d bytesn",n3)
//调用Sync将缓冲区中的数据写入硬盘。
f.Sync()
//与我们前面看到的带缓冲的 Reader 一样,bufio 还提供了的带缓冲的 Writer。
w := bufio.NewWriter(f)
n4, err := w.WriteString("bufferedn")
check(err)
fmt.Printf("wrote %d bytesn",n4)
//使用 Flush 来确保,已将所有的缓冲操作应用于底层 writer。
w.Flush()
}
运行这段文件写入代码。
$ go run writing-files.go
wrote 5 bytes
wrote 7 bytes
wrote 9 bytes
然后检查写入文件的内容。
$ cat /tmp/dat1
hello
go
$ cat /tmp/dat2
some
writes
buffered
我在CentOS7下的运行结果如下图所示:
我们刚刚看到了文件 I/O 思想, 接下来,我们看看它在 stdin 和 stdout 流中的应用。
- P03_Hive 安装
- P06_flume-ng-1.5.0-cdh5.3.6安装
- P04_zookeeper-cdh5集群搭建
- P05_kafka_2.9.2-0.8.1集群搭建
- 再探matplotlib
- 分布式系统(Distributed System)资料
- Python性能提升20倍居然不是标题党?
- Spark开发电商日志分析用户行为聚合功能练习下面开始搭建开发环境注意Task表中最后一个列task_param中,Json的StartDate和EndDate需要设置成今天,因为mock数据的时候,
- HDU 3783 ZOJ
- HDU 1412 {A} + {B}
- HDU 2092 整数解
- Hadoop数据分析平台实战——020Hadoop Shell命令(初学跳过)离线数据分析平台实战——020Hadoop Shell命令(可跳过)
- HDU 2080 夹角有多大II
- 二分查找模版
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 每天学点JavaScript基础(1)—— null 和 undefined
- 每天学点JavaScript基础(2)——JavaScript里的分号,你加还是不加?
- Flutter中async与await异步编程原理分析
- 在树莓派上使用360WIFI
- Orange PI Zero OpenWrt固件
- 定制用于日常使用的树莓派系统
- adb网络调试重启后不关闭得方法
- Mac版VsCode不能主动更新问题
- TensorFlow安装
- AQS原理分析
- 初步认识线程安全性
- GPU,CUDA,cuDNN的理解
- Spark Streaming——Spark第一代实时计算引擎
- nano使用
- 如何查看连接到手机热点的树莓派IP地址