goquery基本用法

当我们通过网络拿到网页文本数据的时候,要对网页中的数据进行分析,筛选有用的数据。如果只是用平常的strings库来处理数据那效率太低了,goquery可以让我们使用类似jquery的方式来处理数据。 地址:[https://github.com/PuerkitoBio/goquery](https://github.com/Puerki...
4天前 阅读(47)

golang slice切片作为函数参数时的陷阱

直接用例子说话 例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 %...
18天前 阅读(83)

go showapi.com接口

showapi.com提供了很多有意思的api,现在用go语言简单的封装下就可以用了。url的组装规则见[文档](https://www.showapi.com/helpcenter/go/sign) 目前提供了三个接口 获取组装后的url http请求返回字符串 http请求返回json 源码如下: package showapi ...
1个月前 阅读(78)

go http get post json

get和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...
1个月前 阅读(80)

go 第三方github登录

给本网站加了一个第三方github登录的功能 在github上新建oauth app 登录github,在用户菜单中选择Settings->Deleloper settings->OAuth Apps->New OAuth App 记住Client ID,Client Secret,Authorization callback URL 点击github登录 html标签 <a href="...
1个月前 阅读(79)

golang.org被墙

用dep ensure安装第三方库的时候总是失败,提示golang.org超时,如果不用代理的话肯定是访问不了的,但是我本地已经开了pgfastss代理而且浏览器上可以访问golang.org,后来调查了下,发现命令行是不能代理的即使开启了全局模式。 > 下面方法是用我自己的代理,设置起来比较麻...
2个月前 阅读(170)

go json解析

由于go是静态强类型语言,不像JavaScript那样是动态语言,所以解析json的时候要先定义好解析后的结构体。 以获取豆瓣电影信息接口为例,地址如下: http://api.douban.com/v2/movie/top250?start=0&count=2 应答结果: { "count": 2, "start": 0, "total": ...
2个月前 阅读(261)

go logger

简单封装了下go log,四个日志等级,能满足基本业务需求,通过github.com/robfig/cron可以每天生成一个日志文件 package logger import ( "io" "log" "os" ) const ( LTrace = iota LInfo LWarn LError ) var ( file os.File Trace log...
2个月前 阅读(173)

go 工作池

go工作池,类似如线程池,不断的往池子里丢任务,池子开启多个线程不断的处理任务。go这里其实只是对go chan defer的简单封装。 work/main.go package work import "sync" type Pool struct { wg sync.WaitGroup task chan func() } func New(size i...
2个月前 阅读(128)

go queue

队列是一个先进先出的数据结构,go语言实现一个队列,为了通用队列的元素使用了interface,通常一个队列有如下方法: Push:向队列尾部压入一个元素 Pop:从队列头部弹出一个元素 Front:获取队列头部元素 Size:队列的长度 package queue import "errors" im...
2个月前 阅读(128)

go 连接池

连接池使用场景如数据库连接,通常为了平衡性能和资源会建立多个数据库连接,将他们放到一个池子中,需要的时候从池子里面取,用完了再归还给池子,如果池子里的资源不够会创建新资源,尽量要避免新建资源的速度大于池子的大小,池子的大小要在获取资源和归还资源之间做到平衡最...
2个月前 阅读(144)

go常见排序方法

golang排序写法还是蛮简洁的,不管是简单类型还是复杂的结构,倒序排序的时候可能有点奇怪不知道为什么这样设计 package main import ( "fmt" "sort" ) type Person struct { Name string Age int } func main() { // 整型排序 intList := [...
2个月前 阅读(118)

go学习代码片段

斐波纳契闭包、非闭包、递归三种实现方法 package main import ( "fmt" ) func finImpl() func() int { i, j := 0, 0 return func() int { if j == 0 { j = 1 return 1 } i, j = j, i+j return j } } func fibonacci(n int) [...
2个月前 阅读(156)

vscode go插件安装失败

vscode go插件安装失败 原因是本地没有golang tools,导致其他的插件安装失败,我们可以手动从github上下载。 使用命令查看GOPATH目录: go env GOPATH 找到您的GOPATH目录,我的是 C:\Users\yourname\go 在go/src目录下,新建golang.org目录如下: g...
2个月前 阅读(166)
 
Keep it simple,stupid
文章数
290
总访问量
305776
今日访问
419
最近评论

xuehaoyun : 很不错,来围观一下
tujiaw : 抱歉csdn code服务关闭了,这个代码我也找不到了
于淞 : 你好,这个文章的源码能分享一下吗,songsong9181@163.com,谢谢了 上面的写错了
于淞 : 你好,这个文章的源码能分享一下吗,838106303@163.com,谢谢了 上面的链接不能用了
tujiaw : 多谢多谢
essaypinglun college-paper.org : 很好的博客,赞赞
Folly : 这个实现有点奇怪,Qt为什么没有统一的比对方法。
过多s : alert("hello, world!")
tujiaw : 还不错哦
回到顶部