go语言之进阶篇WriteString的使用】的更多相关文章

1.WriteString的使用 示例: package main import ( "fmt" "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 &l…
1.go语音之进阶篇 示例: package main import "fmt" type Humaner interface { //子集 sayhi() } type Personer interface { //超集 Humaner //匿名字段,继承了sayhi() sing(lrc string) } type Student struct { name string id int } //Student实现了sayhi() func (tmp *Student) sayhi…
1.爬捧腹网 网页规律: https://www.pengfu.com/xiaohua_1.html   下一页 +1 https://www.pengfu.com/xiaohua_2.html 主页面规律: <h1 class="dp-b"><a href="  一个段子url连接   “ 段子url: <h1>    标题  </h1>  只取1个 <div class="content-txt pt10"…
1.爬百度贴吧并发版 示例: package main import ( "fmt" "net/http" "os" "strconv" ) //爬取网页内容 func HttpGet(url string) (result string, err error) { resp, err1 := http.Get(url) if err1 != nil { err = err1 return } defer resp.Body.…
一.select作用 Go里面提供了一个关键字select,通过select可以监听channel上的数据流动. select的用法与switch语言非常类似,由select开始一个新的选择块,每个选择条件由case语句来描述. 与switch语句可以选择任何可使用相等比较的条件相比, select有比较多的限制,其中最大的一条限制就是每个case语句里必须是一个IO操作,大致的结构如下: select { case <-chan1: // 如果chan1成功读到数据,则进行该case处理语句…
1.goroutine是什么 goroutine是Go并行设计的核心.goroutine说到底其实就是协程,但是它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些goroutine之间的内存共享.执行goroutine只需极少的栈内存(大概是4~5KB),当然会根据相应的数据伸缩.也正因为如此,可同时运行成千上万个并发任务.goroutine比thread更易用.更高效.更轻便. 2.创建goroutine协程 只需在函数调⽤语句前添加 go 关键字,…
1.并行和并发的概念 并行(parallel):指在同一时刻,有多条指令在多个处理器上同时执行. 并发(concurrency):指在同一时刻只能有一条指令执行,但多个进程指令被快速的轮换执行,使得在宏观上具有多个进程同时执行的效果,但在微观上并不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行. 2.并行和并发的区别 并发是两个队列交替使用一台咖啡机 并行是两个队列同时使用两台咖啡机 3.并发和并行原理图 图1 4.go语言并发优势 有人把Go比作21世纪的C语言,第一是因为Go语…
1.借助bufio实现按行读取内容 示例: package main import ( "bufio" "fmt" "io" "os" ) func WriteFile(path string) { //打开文件,新建文件 f, err := os.Create(path) if err != nil { fmt.Println("err = ", err) return } //使用完毕,需要关闭文件 d…
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…
一.文件常用操作接口介绍 1.创建文件 法1: 推荐用法 func Create(name string) (file *File, err Error) 根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0666的文件,返回的文件对象是可读写的. 法2: func NewFile(fd uintptr, name string) *File 根据文件描述符创建相应的文件,返回一个文件对象 2.打开文件 法1: func Open(name string) (file *File, er…