Go语言
go语言学习记录
rainbowIT
你可以慢,但不能停
取法其上,得乎其中,取法其中,得乎其下,取法其下,法不得也。
展开
-
关于for range中只存最后一个元素的问题
for range中value只是一个临时变量,是一个固定的地址,值是不断改变的,而且这个地址只存range完毕的最后一个值。原创 2022-08-07 20:57:31 · 536 阅读 · 1 评论 -
闭包和range
当闭包和range同时使用,可能会出现下面的错误,最终协程会打印出values切片的最后一个值,因为当前的val值引用的是同一个地址的数据,在range循环的过程中,会不断的在val地址中更新数据,但是在闭包中,由于引用了外部的变量val,所以在访问时会获取val地址中的值,可能会获取最后放入其中的值,而不是遍历所有值,从而导致错误。最大的区别在于,闭包函数中可以引用闭包外的变量。闭包包含了函数的入口地址和其关联的环境。修复该问题的办法是通过函数传递参数。...原创 2022-08-07 12:46:42 · 172 阅读 · 0 评论 -
解决Package xxx is not in GOROOT问题
#打开终端输入go env查看go envset GO111MODULE=autoset GOARCH=amd64set GOBIN=设置go env -w GO111MODULE=off即可原创 2022-03-21 10:53:42 · 800 阅读 · 0 评论 -
Go使用正则表达式
package mainimport ( "fmt" "regexp")func main() { str:="abc,anc,aac,dd" //解析编译正则表达式 reg:=regexp.MustCompile(`a.c`) //` `:表示使用原生字符串 //提取需要的信息 all:=reg.FindAllStringSubmatch(str,-1) fmt.Println(all)}[[abc] [anc] [aac]]...原创 2021-08-22 17:09:49 · 79 阅读 · 0 评论 -
Go使用正则表达式
正则表达式是一种进行模式匹配和文本操纵的复杂而又强大的工具。字符类原创 2021-08-21 21:40:24 · 1714 阅读 · 0 评论 -
Go语言爬虫
爬虫访问web服务器,获取指定数据信息的一段程序流程明确URL(请求的地址,明确爬什么) 发送请求,获取响应数据 保存响应数据,提取有用信息 处理数据(存储、使用)爬取贴吧搜索steam吧第一页:https://tieba.baidu.com/f?kw=steam&ie=utf-8&pn=0第二页:https://tieba.baidu.com/f?kw=steam&ie=utf-8&pn=50第三页:https://tieba.baid.原创 2021-08-20 08:35:31 · 398 阅读 · 0 评论 -
Go语言 break和continue的区别
Break break语句是限定转向语句,能控制程序流程跳出所在的结构,break在for循环结构中的作用就是控制程序流程跳出循环体,提前结束循环。func main() { for i := 0; i < 10; i++ { if i > 5 { fmt.Println("执行") fmt.Println(i) break } } fmt.Println("只要break跳出循环我就会被运行")}执行6i等于...原创 2021-06-28 17:19:18 · 602 阅读 · 0 评论 -
Go语言学习(一)
Go语言基础Go语言官网:https://golang.org/go中文社区:https://studygolang.comgo中文在线文档:https://studygolang.com/pkgdoc第一个程序注释:单行注释 // 多行注释 /* */ // 第一个程序 project main.go// 导入主函数的包package main// 系统会导入所需的包 format 标准输入输出包import ( "fmt")func main(.原创 2021-06-24 17:34:32 · 338 阅读 · 0 评论