
golang
文章平均质量分 50
kai_ding
这个作者很懒,什么都没留下…
展开
-
golang匿名函数和闭包
匿名函数和闭包:闭包和匿名函数经常一起使用,可以使用闭包来访问函数中的局部变量(被访问操作的变量为指针指向关系,操作的是同一个局部变量)如:func closure(x int) (func(), func(int)) { fmt.Printf("初始值x为:%d,内存地址:%p\n", x, &x) f1 := func() { x = x + 5原创 2014-03-16 22:16:09 · 6573 阅读 · 0 评论 -
golang编译过程的一个奇怪问题
在编译golang程序的时候,出现如下错误:cannot create /go.o: No such file or directorymake: *** [build/mds] Error 2错误原因go build的时候会创建临时文件,猜测与临时目录相关的问题,查看了下源代码原创 2014-11-17 09:17:59 · 2151 阅读 · 0 评论 -
go channel实现
go channel实现Go语言经过多年的发展,于最近推出了第一个稳定版本。相对于C/C++来说,Go有很多独特之出,比如提供了相当抽象的工具,如channel和goroutine。本文主要介绍channel的实现方式。简介channel有四个操作:创建:c = make(chan int)发送:c 提取:i 关闭:close(c)根据创建方式的不同,channel转载 2014-05-19 09:10:17 · 2280 阅读 · 0 评论 -
golang internals
2014年5月>日一二三四五六2728293012345678910111213141516171819202122232425262728转载 2014-05-17 08:07:43 · 937 阅读 · 0 评论 -
Golang反射机制的一些规则
http://blog.golang.org/laws-of-reflection转载 2014-05-15 09:15:23 · 1575 阅读 · 0 评论 -
Go 语言中的方法,接口和嵌入类型
本文为转载技术翻译,原翻译地址:http://se77en.cc/2014/05/05/methods-interfaces-and-embedded-types-in-golang/原文地址:http://www.goinggo.net/2014/05/methods-interfaces-and-embedded-types.html概述在 Go 语言中,如果一个结构体原创 2014-05-16 07:38:17 · 1998 阅读 · 0 评论 -
golang: 类型转换和类型断言
本文为转载,原文地址:http://my.oschina.net/goal/blog/194308类型转换在程序设计中都是不可避免的问题。当然有一些语言将这个过程给模糊了,大多数时候开发者并不需要去关注这方面的问题。但是golang中的类型匹配是很严格的,不同的类型之间通常需要手动转换,编译器不会代你去做这个事。我之所以说通常需要手动转换,是因为interface类型作为一个特例,会有不同转载 2014-05-16 08:07:15 · 2157 阅读 · 0 评论 -
Go 语言方法接受者类型的选择
概述很多人(特别是新手)在写 Go 语言代码时经常会问一个问题,那就是一个方法的接受者类型到底应该是值类型还是指针类型呢,Go 的 wiki 上对这点做了很好的解释,我来翻译一下。何时使用值类型如果接受者是一个 map,func 或者 chan,使用值类型(因为它们本身就是引用类型)。如果接受者是一个 slice,并且方法不执行 reslice 操作,也不重新分配内存给 slice原创 2014-05-16 07:36:03 · 1053 阅读 · 0 评论 -
Go Data Structures: Interfaces
Go Data Structures: InterfacesPosted on Tuesday, December 1, 2009. Go's interfaces—static, checked at compile time, dynamic when asked for—are, for me, the most exciting part of Go f转载 2014-05-16 09:28:17 · 1096 阅读 · 0 评论 -
Go 语言的错误处理机制
这段时间在学习 Go 语言,接触到一些比较“另类”的语言特性,其中一个就是它的错误处理机制,跟我以往所知的都不太一样。在我正儿八经地使用过的编程语言(C / Python / Ruby / JavaScript)里面,处理程序错误的方式大致有两种:1. 返回特殊值 2. 抛出异常。C 语言属于第一种。函数调用出错时会返回特殊值,并有可能根据场景设置某个全局的(一般是 thread-loca转载 2014-05-16 09:07:33 · 1796 阅读 · 0 评论 -
golang: 详解interface和nil
声明:文章zhuanzgolang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。nil是预先说明的标识符,也即通常意义上的关键字。在golang中,nil只能赋值给指针、channel、func、interface、map或slice类型的变量。如果未遵循这个规则,则会引发panic。对此官方有明确的说明:http://pkg.golang.org转载 2014-05-16 08:18:01 · 1177 阅读 · 0 评论 -
golang: 详解interface和nil
golang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。nil是预先说明的标识符,也即通常意义上的关键字。在golang中,nil只能赋值给指针、channel、func、interface、map或slice类型的变量。如果未遵循这个规则,则会引发panic。对此官方有明确的说明:http://pkg.golang.org/pkg/builtin/#T转载 2014-11-20 21:57:02 · 2446 阅读 · 0 评论