16779242

大道至简

第 1791 号会员 /

回复了 yinhaixiang 创建的主题: Go并发基础问题求解

楼上说的对,你的c已经在全局定义过了,在main函数里c = make(chan string)就是改变全局变量。

而你的代码 c := make(chan string),则是在main函数里另外定义了一个c,这个c和全局定义的c是两个对象。所以造成的结果就是,你的main函数里是一个chan,pingpang函数里是另外一个chan。main函数里的chan只有写入没有取出,就造成了死锁。

回复了 qq277049 创建的主题: 程序无故终止求原因

invalid memory address or nil pointer dereference。 你直接调用了未初始化的指针。

回复了 wgh728 创建的主题: 关于studygolang的 数据库访问类

InsertSql需要的Sqler是一个interface{}。

对于golang而言,只要一个对象实现了该interface{}的所有方法,那么就可以认为该对象实现了该interface{}。

*Dao是一个struct,有很多自己的方法。只要它实现了Sqler的所有方法,那么在golang里,就认为它就实现了Sqler。根据golang的标准,它就可以当作一个Sqler去使用。

你看看golang的interface{}规则详解就懂了。