Magic Studio

专心做有逼格的APP!

随笔分类 -  go

the go programming language
使用Golang+Mongodb打造你的第一个站点
摘要:很多人推荐MEAN来开发站点。MEAN就是M:mongodb,E:expressjs、A:angular最后的N:nodejs。 但是如果你亲身的体会到了js的嵌套回调的话你就会想换换别的办法了。虽然说可以用promise等框架 破解深深的嵌套,但毕竟不是语言本身支持的。为什么说用Golang呢?因... 阅读全文

posted @ 2015-11-15 21:29 Mr 布鲁斯 阅读(9495) 评论(1) 推荐(1) 编辑

开始编写Golang代码
摘要:介绍本文主要讲述如何写一个简单的Go包和如何使用golang的工具,如何获取、编译和安装Go的包,以及如何使用go的命令。Go的工具需要将代码按照一定的方式来组织。所以请认真阅读本文。代码的组织workspacego工具是设计用来处理公开代码库的开源代码的,虽然你不是一定要公开你的代码,但是工作的模... 阅读全文

posted @ 2015-11-08 22:10 Mr 布鲁斯 阅读(2183) 评论(2) 推荐(1) 编辑

go指针的一个小坑
摘要:几乎可以肯定的说,go语言中除了闭包在引用外部变量的时候是传引用的,其他的时候都是传值的。如果你说形参可以定义为指针。好吧,那么告诉你这个指针的值其实是按照传值的方式使用的。下面看个很浅显的例子:func stillTest(v int) { v = v + 100}i := 100fmt.P... 阅读全文

posted @ 2015-09-15 12:04 Mr 布鲁斯 阅读(3599) 评论(11) 推荐(0) 编辑

Go语言的传参和传引用[转]
摘要:目录[-]传参和传引用的问题传slice不是传引用!什么叫传引用?为什么传slice不是传引用?为什么很多人误以为slice是传引用呢?传指针和传引用是等价的吗?所有类型的函数参数都是传值的!那Go语言有传引用的说法吗?什么是引用类型, 和指针有何区别/联系 ?总结传参和传引用的问题很多非官方的文档... 阅读全文

posted @ 2015-09-14 13:25 Mr 布鲁斯 阅读(1096) 评论(0) 推荐(0) 编辑

gorename: easy refactoring tool for Golang[转]
摘要:To inaugurate this attempt of blog, I’ll talk aboutgorenamea small but incredibly useful tool I just recently discovered thanks toAndrew Gerrand’s dot... 阅读全文

posted @ 2015-09-11 15:12 Mr 布鲁斯 阅读(881) 评论(0) 推荐(0) 编辑

golang的json操作[转]
摘要:packagemainimport("encoding/json""fmt""os")typeConfigStructstruct{Hoststring`json:"host"`Portint`json:"port"`AnalyticsFilestring`json:"analytics_file"... 阅读全文

posted @ 2015-09-11 10:44 Mr 布鲁斯 阅读(483) 评论(0) 推荐(0) 编辑

Go并发编程基础(译)
摘要:2015-05-20 三Byyoungsterxyf原文:Fundamentals of concurrent programming译者:youngsterxyf本文是一篇并发编程方面的入门文章,以Go语言编写示例代码,内容涵盖:运行期并发线程(goroutines)基本的同步技术(管道和锁)Go... 阅读全文

posted @ 2015-09-01 15:56 Mr 布鲁斯 阅读(1030) 评论(0) 推荐(0) 编辑

golang闭包里的坑
摘要:介绍go的闭包是一个很有用的东西。但是如果你不了解闭包是如何工作的,那么他也会给你带来一堆的bug。这里我会拿出Go In Action这本书的一部分代码,来说一说在使用闭包的时候可能遇到的坑。全部的代码在github上。闭包的坑首先看一段代码:search/search.go29 // Laun... 阅读全文

posted @ 2015-08-30 16:54 Mr 布鲁斯 阅读(2144) 评论(0) 推荐(0) 编辑

理解Defer、Panic和Recover
摘要:刚开始的时候理解如何使用Defer和Recover有一点怪异,尤其是使用了try/catch块的时候。有一种模式可以在Go中实现和try/catch语句块一样的效果。不过之前你需要先领会Defer、Panic和Recover的精髓。首先你需要理解defer关键字的作用,请看如下的代码:package... 阅读全文

posted @ 2015-08-30 15:51 Mr 布鲁斯 阅读(2364) 评论(0) 推荐(0) 编辑

使用Revel(go)开发网站
摘要:Revel很好的利用了Go语言的goroutine,把每一个request都分配到了goroutine里。不用再写一大堆的回调。如果你写过nodejs的话就会深刻的体会到callback hell是什么样子的。正是由于Revel有了goroutine,Revel的性能也有了很大的提升。官网号称请求的... 阅读全文

posted @ 2015-08-30 13:04 Mr 布鲁斯 阅读(1531) 评论(0) 推荐(0) 编辑

导航