标签 - golang

golang    2015-09-23 00:42:13    780    0    0
methods on values or pointers func (s *MyStruct) pointerMethod() { } // method on pointer func (s MyStruct) valueMethod() { } // method on value go语言为类型定义方法时有上述两种方式,初学者很容易陷入迷惑中,这两种定义方式有什么区别?该如何选择? 区别 首先我们把函数的形式稍微改变一下:
golang    2015-09-20 00:28:08    932    0    1
sync.once可以控制函数只能被调用一次,不能多次重复调用。 我们可以用下面的代码实现一个线程安全的单例模式 package singletonimport ( "fmt" "sync")type object struct { name string}var once sync.Oncevar obj *object //单例指针//公开方法 外包调用func Instance() *object { once.Do(getObj)
golang    2015-09-19 07:40:46    2425    0    0
什么是interface 想象你要在路边打一辆出租车从A地到B地,你不需要知道出租车司机的国籍、性别,是人还是机器人,只要他能够把你从A地带到B地就可以。 golang中的interface就是这个意思,你不要一个特定的类型,而是需要它实现你想要的功能。interface可以理解为你想要的功能集合。 //interface 定义你想要的功能 type Driver interface { //能够把你从A地带到B地 Drive(from Lo
golang    2015-09-15 07:57:31    1058    0    0
## web server概述 使用go语言搭建一个web服务器是很简单的,几行代码就可以搭建一个稳定的高并发的web server。 ``` // hello world, the web server func HelloServer(w http.ResponseWriter, req *http.Request) { io.WriteString(w, "hello, world!\
golang    2015-09-15 06:31:56    1390    0    0
beego的日志模块是独立的,可以将日志写入控制台,文件,邮件等地方,我们将每一个日志输出点成为一个adapter。 beego的日志有什么特点呢? 可以将同一条日志输出到多个adapter中,这样既可以在控制台看到程序的运行情况,文件中也可以保存下来 可以设置日志的等级,按照等级判断是否输出该日志,输出等级高于设置的等级时会往创建的多个adapter中输出,每个adapter可以设置自己的日志等级,这样的话我就可以实现将INFO以上日志写入文件,将Error日志
2/2