自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 golang中strings包函数示例

func Compare(a, b string) intpackage mainimport ( "fmt" "strings")func main() { fmt.Println(strings.Compare("123","123")) fmt.Println(strings.Compare("123","456")) fmt.Println(stri

2016-10-13 15:30:53 746

原创 golang的filepath包函数示例

func Abs(path string) (string, error)package mainimport ( "path/filepath" "os" "fmt")func main() { // pName := os.Args[0] absName, err := filepath.Abs(pName) if err != nil

2016-10-10 22:05:46 1502

原创 golang实现的http反向代理

今天找http代理的例子,一直没找到满意的,终于在github上找到一个,非常的简洁,记录一下。package mainimport ( "net/http" "net/http/httputil" "log")func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request

2016-10-10 22:04:15 1571

原创 golang中调用C

golang中调用C

2016-03-09 14:47:59 2350

原创 golang中函数闭包遇到的坑

golang项目中用到kafka,有个组件需要拉取消息;这个组件启动是成功的,有的时候能拉取消息;有的时候感觉像卡死了一样,有消息了,一条都没有拉取到。kafka测试没问题;最后定位到,原来是函数闭包用的有问题。看下面这段代码,看起来似乎是两个goroutine,我们把rId作为goroutine的标记,结果想象应该是:1 abcdef0 1234560 1234561 abcdef1 ab

2016-03-09 14:43:42 1339

原创 golang捕获ctrl+c退出程序

在golang当中如何捕获ctrl+c命令,让程序有序的的退出?首先测试一段golang代码,捕获SIGINT和SIGKILLc := make(chan os.Signal, 1)signal.Notify(c, os.Interrupt, os.Kill)s := <-cfmt.Println("Got signal:", s)在多goroutines当中如何退出?我们假设有一个生产者,一个

2016-03-03 21:11:53 5641

原创 golang捕获panic

golang当中panic的时候如果启动的goroutine比较多,刷的信息满屏都是,在终端工具上因为刷的信息太多,找不到前边的信息,因此很有必要程序自己捕获panic,并且将错误信息输出到文件当中,以便定位排查问题。以下是一段捕获panic的代码package mainimport ( "fmt" "os" "runtime/debug" "time")func

2016-02-28 21:40:10 5334

原创 golang工作者goroutine池模型

在golang编写服务程序过程中,如果每次来斗启动一个goroutine去处理任务,处理一个任务后就退出,这样势必会造成资源浪费。构建一个工作goroutine池来处理任务相对资源利用会少些,具体的情况需对比测试。列表内容type WorkerPool struct { tasks <-chan *string //任务队列长度 poolSize int

2016-02-27 09:48:07 2778

原创 golang实现抽象工厂模式

在项目过程中,遇到某处需要使用工厂模式,因此写了个测试代码进行测试,首先定义了interface Worker,其中包含一个接口Work(task *string)然后定义创建Worker的interface WorkerCreator,包含一个接口Create() ,返回值为Workertype Worker interface { Work(task *string)}type

2016-02-26 14:43:05 1956

原创 golang解析json格式

golang解析json格式项目中客户端和服务端的交互数据部分为json,因此在服务端就得解析,复杂的json解析起来其实还是挺费劲的。 交互的数据类似如下格式:{"sn":1,"ls":false,"bg":0,"ed":0,"ws":[{"bg":0,"cw":[{"sc":0,"w":"还"}]},{"bg":0,"cw":[{"sc":0,"w":"有点"}]},{"bg":0,"cw":

2016-02-19 22:48:51 5029

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除