
网络转载
蓝贝壳壳
热爱软件事业 崇尚自由 一个不愿成为码农的码农 多年苦心探索和参悟 希望解放全天下苦逼的码农
展开
-
golang的初始化顺序
Init每个包都可以定义一个或多个init函数2(原型为 func init()),init函数在包初次被导入时调用,同一个包内的多个init函数的执行的顺序是不定的,而如果这个包又导入了其他的包,则级连调用,所有包import完成,所有init函数执行完后,则开始main的执行。而对于全局变量,以一个简单的例子来说明: // package p var gInt int… // p转载 2014-11-09 19:55:49 · 1091 阅读 · 0 评论 -
go deadlock
原文地址:deadlock">go deadlock作者:funkygao 1 package main 2 3 func main() { 4 ch:= make(chan int) 5 ch 6 7 } 上面的代码,在执行时会报:throw: all goroutines are asleep - deadlock!原因是转载 2014-11-09 19:55:39 · 553 阅读 · 0 评论 -
golang中的defer panic使用方法
大家都知道golang里的panic相当于其他语言里的throw,而recover相当于其他语言里的cacth,可是由于golang的recover机制要求必须在defer的函数里才能执行catchpanic大概意思如下func protect(g func()) { defer func() { log.Println("done") //Println executes n转载 2014-11-09 19:55:41 · 815 阅读 · 0 评论 -
Golang反射调用函数
首先,来看看这段 PHP 代码:view sourceprint?1functionfoobar() {2 echo"Hello Golang\n";3}4$funcs= array(5 "foobar"=> "foobar",6 "hello"转载 2014-11-09 19:55:44 · 1473 阅读 · 0 评论