go语言之进阶篇Read的使用
1、read的使用(备注:读文件)
示例:
package main import (
"fmt"
"io"
"os"
) func WriteFile(path string) {
f, err := os.Create(path)
if err != nil {
fmt.Println("err = ", err)
return
} //使用完毕,需要关闭文件
defer f.Close() var buf string for i := 0; i < 10; i++ {
//"i = 1\n", 这个字符串存储在buf中
buf = fmt.Sprintf("i = %d\n", i)
//fmt.Println("buf = ", buf) n, err := f.WriteString(buf)
if err != nil {
fmt.Println("err = ", err)
}
fmt.Println("n = ", n)
}
} func ReadFile(path string) {
f, err := os.Open(path)
if err != nil {
fmt.Println("err = ", err)
return
} //关闭文件
defer f.Close() buf := make([]byte, 1024*2) //2k大小 //n代表从文件读取内容的长度
n, err1 := f.Read(buf)
if err1 != nil && err1 != io.EOF { //文件出错,同时没有到结尾
fmt.Println("err1 = ", err1)
return
} fmt.Println("err1 = ", string(buf[:n])) } func main() {
path := "./demo.txt"
//写
//WriteFile(path)
//读
ReadFile(path)
}
#执行结果: (会生成一个demo.txt的文件)
i = 0
i = 1
i = 2
i = 3
i = 4
i = 5
i = 6
i = 7
i = 8
i = 9
go语言之进阶篇Read的使用的更多相关文章
- go语言之进阶篇接口转换
		
1.go语音之进阶篇 示例: package main import "fmt" type Humaner interface { //子集 sayhi() } type Pers ...
 - go语言之进阶篇通过select实现斐波那契数列
		
一.select作用 Go里面提供了一个关键字select,通过select可以监听channel上的数据流动. select的用法与switch语言非常类似,由select开始一个新的选择块,每个选 ...
 - go语言之进阶篇创建goroutine协程
		
1.goroutine是什么 goroutine是Go并行设计的核心.goroutine说到底其实就是协程,但是它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现 ...
 - go语言之进阶篇并行和并发的区别与go语言并发优势
		
1.并行和并发的概念 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行. 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在 ...
 - go语言之进阶篇JSON处理
		
一.JSON处理 JSON (JavaScript Object Notation)是一种比XML更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成.尽管JSON是JavaScr ...
 - go语言之进阶篇正则表达式
		
正则表达式是一种进行模式匹配和文本操纵的复杂而又强大的工具.虽然正则表达式比纯粹的文本匹配效率低,但是它却更灵活.按照它的语法规则,随需构造出的匹配模式就能够从原始文本中筛选出几乎任何你想要得到的字符 ...
 - go语言之进阶篇面向对象编程
		
1.面向对象编程 对于面向对象编程的支持Go 语言设计得非常简洁而优雅.因为, Go语言并没有沿袭传统面向对象编程中的诸多概念,比如继承(不支持继承,尽管匿名字段的内存布局和行为类似继承,但它并不是继 ...
 - Go语言之进阶篇操作redis
		
1.windows安装redis 软件包下载地址: https://github.com/MicrosoftArchive/redis/releases 1.1.安装--->下一步---> ...
 - Go语言之进阶篇mysql增 删 改 查
		
一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...
 - Go语言之进阶篇连接mysql
		
一.Go连接mysql 1.mysql驱动 地址:https://github.com/Go-SQL-Driver/MySQL 说明: sql.Open()函数用来打开一个注册过的数据库驱动,Go-M ...
 
随机推荐
- MySQL数据库之视图
			
1 引言 为了简化复杂SQL语句编写,以及提高数据库安全性,MySQL数据库视图特性.视图是一张虚拟表,不在数据库中以储存的数据值形式存在.在开发中,开发者往往只对某些特定数据和所负责的特定任务感兴趣 ...
 - i春秋CTF web题(1)
			
之前边看writeup,边做实验吧的web题,多多少少有些收获.但是知识点都已记不清.所以这次借助i春秋这个平台边做题,就当记笔记一样写写writeup(其实都大部分还是借鉴其他人的writeup). ...
 - @Transactional导致无法动态数据源切换
			
公司目前数据源为主从模式:主库可读写,从库只负责读.使用spring-jdbc提供的AbstractRoutingDataSource结合ThreadLocal存储key,实现数据源动态切换. 最近项 ...
 - General PE format layout
 - SPI SWD Protocol Implement
			
//================================================================================= // ARM SWD Mode ...
 - Answer Sheet - Both, Either & Neither
			
http://www.usingenglish.com/quizzes/answers.php?quiz_id=44 This page displays the answers to the 'Bo ...
 - Revit API封装一个通用函数“过名称找元素”
			
感觉这个函数不错.通过这种方式寻找元素经常需要用到. ) { ]; } // cannot find it. return null; ...
 - Delphi 类的类 class of 用法
			
http://blog.csdn.net/blue_morning/article/details/8815609 Delphi 类的类 class of 用法 这个概念本来在一个关于Delphi ...
 - Java异常(二) 《Effective Java》中关于异常处理的几条建议
			
概要 本章是从<Effective Java>摘录整理出来的关于异常处理的几条建议.内容包括:第1条: 只针对不正常的情况才使用异常第2条: 对于可恢复的条件使用被检查的异常,对于程序错误 ...
 - xcode调试查看变量的值
			
对于IPhone开发/XCode的初学者,如何在调试时查看变量的值是很头痛的事情.因为Xcode的expression 经常无法正确显示变量的值.但是强大的GDB可以很方便的帮我们查看变量的值. 当执 ...