Go语言中的内建函数new和make是两个用于内存分配的原语(allocation primitives)。对于初学者,这两者的区别也挺容易让人迷糊的。简单的说,new只分配内存,make用于slice,map,和channel的初始化。
分类:
其他好文 时间:
2014-10-03 15:14:44
阅读次数:
206
在Go语言中,我们可以给任何类型(包括内置类型,但不包括指针和接口)定义方法,这又是Go语言的一大特色。
分类:
其他好文 时间:
2014-10-03 01:10:33
阅读次数:
504
package?main?
?import?(?
????//"bufio"?
????"fmt"?
????//"io"?
????"io/ioutil"?
????"os"?
????"time"?
)?
?func?main()?{?
?????file1,?err?:=?os.OpenFi...
分类:
其他好文 时间:
2014-10-03 00:47:43
阅读次数:
229
import java.lang.reflect.ParameterizedType;
public class GenericClass {
/**
* 获取父类的泛型类型
*/
public static Class getGenericClass(Class clazz) {
ParameterizedType type=(ParameterizedType)clazz...
分类:
其他好文 时间:
2014-10-02 23:38:53
阅读次数:
237
“网络,并发”是Go语言的两大feature。Go语言号称“互联网的C语言”,与使用传统的C语言相比,写一个Server所使用的代码更少,也更简单。写一个Server除了网络,另外就是并发,相对python等其它语言,Go对并发支持使得它有更好的性能。
Goroutine和channel是Go在“...
分类:
其他好文 时间:
2014-10-02 02:15:12
阅读次数:
250
环境搭建下载地址:http://golang.so/dl/go1.3.windows-amd64.msihttp://golang.so/dl/go1.3.windows-386.msihttp://golang.so/dl/go1.3.linux-amd64.tar.gzhttp://golang...
分类:
编程语言 时间:
2014-10-01 19:05:41
阅读次数:
176
golang并没有在语言层次上提供超时操作,但可以通过一些小技巧实现超时。 原理: 并发一个函数,等待1s后向timeout写入数据,在select中如果1s之内有数据向其他channel写入则会顺利执行,如果没有,这是timeout写...
分类:
其他好文 时间:
2014-10-01 13:55:31
阅读次数:
150
package?main?
import?(
"fmt"
"sync"
"runtime"
)
var?counter?int?=?0
func?Count(lock?*sync.Mutex)?{
lock.Lock()
counter++
fmt.Println(counter)
lock.Unlock()
}
func?main()?{
lo...
分类:
其他好文 时间:
2014-10-01 00:32:30
阅读次数:
389
package?main?
import?"fmt"
type?IReader?interface?{
Read(file?string)?[]byte
}
type?IWriter?interface?{
Write(file?string,?data?[]byte)
}
//?接口组合,?这些默认就继承了Reader和...
分类:
其他好文 时间:
2014-09-30 01:10:22
阅读次数:
353
[GO安装] 本来采用 sudo apt-get install golang 安装,后来发现这样装下来是go1版本,这样后面在编译go-sql-driver插件会有问题。 后来参考参考资料2中所说,从http://www.golangtc.com/download下载对应平台的包...
分类:
数据库 时间:
2014-09-29 12:51:31
阅读次数:
207