Tag: Go
All the articles with the tag "Go".
goquery基本用法
Published: at 07:21 AM当我们通过网络拿到网页文本数据的时候,要对网页中的数据进行分析,筛选有用的数据。如果只是用平常的strings库来处理数据那效率太低了,goquery可以让我们使用类似jquery的方式来处理数据。 地址:https//github.com/PuerkitoBio/goquery(https//github.com/Puerki...
golang slice切片作为函数参数时的陷阱
Published: at 10:30 AM直接用例子说话 例1: func main() { s = make(int, 1, 3) // 创建一个长度为1,容量为3的切片 fmt.Printf("before slice addr %p point %p, val %v, len %d, cap %d\n", &s, s, s, len(s), cap(s)) modifySlice1(s) fmt.Printf("after slice addr %...
go showapi.com接口
Published: at 02:59 PMshowapi.com提供了很多有意思的api,现在用go语言简单的封装下就可以用了。url的组装规则见文档(https//www.showapi.com/helpcenter/go/sign) 目前提供了三个接口 获取组装后的url http请求返回字符串 http请求返回json 源码如下: package showapi ...
go http get post json
Published: at 04:01 PMget和post请求使用比较频繁,这里只考虑json格式,做一下简单封装。 get请求 func HttpGetJson(url string, resp interface{}) error { result, err = http.Get(url) if err == nil { defer result.Body.Close() return json.NewDecoder(result.Body).De...
go 第三方github登录
Published: at 03:41 PM给本网站加了一个第三方github登录的功能 在github上新建oauth app 登录github,在用户菜单中选择Settings->Deleloper settings->OAuth Apps->New OAuth App 记住Client ID,Client Secret,Authorization callback URL 点击github登录 html标签 <a href="...
go代理 golang代理 GOPROXY
Published: at 03:54 PM是时候使用go mod来管理包了,具体参考:go mod 使用(https//juejin.im/post/5c8e503a6fb9a070d878184a) 用dep ensure安装第三方库的时候总是失败,提示golang.org超时,如果不用代理的话肯定是访问不了的,但是我本地已经开了pgfastss代理而且浏览器上可以访问golang....
go json解析
Published: at 03:43 PM由于go是静态强类型语言,不像JavaScript那样是动态语言,所以解析json的时候要先定义好解析后的结构体。 以获取豆瓣电影信息接口为例,地址如下: http//api.douban.com/v2/movie/top250?start=0&count=2 应答结果: { "count" 2, "start" 0, "total" ...
go logger
Published: at 09:43 AM简单封装了下go log,四个日志等级,能满足基本业务需求,通过github.com/robfig/cron可以每天生成一个日志文件 package logger import ( "io" "log" "os" ) const ( LTrace = iota LInfo LWarn LError ) var ( file os.File Trace log...
go 工作池 连接池
Published: at 10:38 AM工作池 如线程池,不断的往池子里丢任务,池子开启多个线程不断的处理任务。go这里其实只是对go chan defer的简单封装。 work/main.go package work import "sync" type Pool struct { wg sync.WaitGroup task chan func() } func New(size int) ...
go queue
Published: at 04:54 AM队列是一个先进先出的数据结构,go语言实现一个队列,为了通用队列的元素使用了interface,通常一个队列有如下方法: Push:向队列尾部压入一个元素 Pop:从队列头部弹出一个元素 Front:获取队列头部元素 Size:队列的长度 package queue import "errors" im...