- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 Golang GVT
gvt 是golang众多包管理中的一员,因为我最早用的是gvt,所以其他的工具一直也没用过。并且gvt可以将依赖包的依赖包的依赖包….都下载下来,统一了团队协作环境不一致的问题。使用方法: 1. 下载并配置 go get github.com:FiloSottile/gvt 将在gopath/bin目录放到path下,此时在cmd下执行gvt可以看到如下输出 ...
2018-01-31 16:40:35 1433
原创 Golang 注册服务路径的问题
Golang 注册服务路径的问题在使用 "github.com/kardianos/service"将go程序注册成window服务的时候,对于这时候的程序的工作路径,如果我们不去获取,默认当前的路径就是程序所在的路径,就会变成发现service程序所在的 C:\Windows\System32目录下,但是如果我们进行了获取,比如 osPath, _ := e
2018-01-30 20:48:04 2204
转载 golang context
https://studygolang.com/articles/10155?fr=sidebar在go服务器中,对于每个请求的request都是在单独的goroutine中进行的,处理一个request也可能设计多个goroutine之间的交互, 使用context可以使开发者方便的在这些goroutine里传递request相关的数据、取消goroutine的signal或截止日期。
2018-01-29 11:10:23 197
原创 Golang json序列化字符串时多了\的问题
golang json序列化得到的数据有\的问题我们在对外提供API接口,返回响应的时候,很多时候需要使用如下的数据结构type Response struct { Code int `json:"code"` Msg string `json:"msg"` Data interface{} `json:"data"`}该API接口
2018-01-26 18:28:15 17805 2
转载 Golang 反射
转自:http://www.jb51.net/article/90021.htmvar x float32 = 2.1 v := reflect.ValueOf(x) fmt.Println(v) fmt.Println(v.Float()) fmt.Println(v.Type()) fmt.Println(v.Kind()) // kin
2018-01-26 11:35:15 209
原创 Golang LRU map使用
LRU:(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。在k8s.io/apimachinery/pkg/util/cache这个代码库中,实现了LRUExpireCache数据结构,他的功能类似于LRU但不完全是。LRUExpireCache可以设定数据结构的大小,当输出超过指
2018-01-24 12:02:43 1427
原创 Golang 使用pprof分析goweb的性能问题
go的pprof可以用来对服务的性能进行检测,其中net/http/pprof包用来检测web服务器的相关的性能的分析,包括goroutine的数量,heap的大小问题。简单使用package mainimport ( "fmt" "log" "net/http" _ "net/http/pprof" "time")func mai...
2018-01-23 21:06:04 6501
原创 MongoDB 常见的登录错误总结
1Mon Jan 22 19:10:41.502 JavaScript execution failed: Error: couldn't connect toserver 127.0.0.1:27017 at src/mongo/shell/mongo.js:L112exception: connect failed对于上述错误,关闭服务,将mongodb的data目录下的mongo
2018-01-22 19:19:01 1311
原创 Golang 加解密
golang 加密与加解密本文介绍几个go实现的常见的加密与加解密算法。1.加密1.1 MD5package md5import ( "crypto/md5" "fmt" "io")func Md5() { h := md5.New() io.WriteString(h, "Hello World!") fmt.Pr
2018-01-17 16:50:16 927 1
转载 Mysql入门学习(5) 之go操作mysql
转自:谢大佬package mainimport ( "database/sql" "fmt" //"time" _ "github.com/go-sql-driver/mysql")func main() { db, err := sql.Open("mysql", "astaxie:astaxie@/test?charset=utf8")
2018-01-16 16:06:49 257
原创 golang http长连接
http的长连接golang 的net/http库默认支持长连接。 通过ListenAndServe源码可以看到。for { rw, e := l.Accept() ... go c.serve(ctx) }每一个tcp连接,go都会对应一个协程对其服务,再server内,源码显示 for { w,
2018-01-16 11:53:11 6446
TCP-IP详解.卷3
2017-09-08
TCP-IP详解卷2:实现.pdf
2017-09-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人