> 暴雨不在明天 wrote, On 05/30/2012 11:13 AM:
>> 偱环依赖在其它高级语言(如php)中这中这是很常见的啊..**木有问题...
>> 另外所谓依赖它也是分步执行的,比如php中正常的做法,**相互依赖的文件都导入,然
>> 后再进行相应的初史化,go里面初史化也有相应的限制的吧,萌 有问题的.
> 0. 世界上有些问题,可以通过直接观测解决。**比如我的笔记本是不是索尼的
> 1. 世界上还有些问题,可以通过事先设置的公理和规则,**通过逻辑解决。比如停 机问题
> 2. 世界上还有些问题,可以通过实验证伪的方式,**部分地在短期内得到缓解。比 如万有引力问题
> 3. 世界上还有些问题,永远会争吵下去,比如人生的意义是什么
> 4. 世界上还有些问题,永远会有人去争吵,但确实没什么意义。**比如争论我究竟 爱吃西餐还是中餐。
> go是否支持循环依赖的问题,属于第0类,结果是:
> $ go build
> can't load package: package etc/testcyclicdep/pkga
> imports etc/testcyclicdep/pkgb
> imports etc/testcyclicdep/pkga: import loop
> package etc/testcyclicdep/pkga
> imports etc/testcyclicdep/pkgb
> imports etc/testcyclicdep/pkga: import loop
> go以何种方式支持循环依赖的问题,属于第1类问题。**答案minux给出了:拓扑排序
> go为什么不支持循环依赖的问题,属于第3类问题
> go该不该支持循环依赖的问题,属于第4类问题
> -Monnand
> ------------
>> 于 2012年05月30日 17:07, chai2010 写道:
>>> 我感觉是可以的.
>>> 比如:
>>> 第一个版本, abc独立, 编译后安装到gopath.
>>> 第二个版本, a依赖b, 重新编译安装a.
>>> 第三个版本, b依赖c, 重新编译安装b
>>> ...
>>> 2012/5/30 minux <minux...@gmail.com <mailto:minux...@gmail.com>>
>>> 2012/5/30 暴雨不在明天 <byb...@gmail.com <mailto:byb...@gmail.com>>
>>> 包循环依赖没有任何问题啊.
>>> 因为当a依赖b,b依赖c,c依赖a时,实质上会是这种情况,
>>> package (
>>> a
>>> b
>>> c
>>> )
>>> 这时先导入a,然后解析a,发现需要b, 导入b,解析b,导入c,这个时候c依
>>> 赖a,但a己结导入,所以没有任何问题的;
>>> 另一种解析方法是直接导入a,b,c然后依次解析并导入,**但不管怎么样都
>>> 不会循环
>>> 没明白这是啥意思。a依赖b,b依赖c,**c依赖a的时候根本编译不了的。
>>> 因为go tool会做topology sort来获取包编译顺序,任何循环依赖根本没办
>>> 法通过go tool的检查的。
>>> 就算你手工编译也不行,前面已经有人说了,**gc编译一个包的时候要读取所
>>> 有它依赖的包的编译结果。
>>> --
>>> 官网: http://golang-china.org/
>>> IRC: irc.freenode.net <http://irc.freenode.net> #golang-china
>>> @golangchina
>>> --
>>> chaishushan
>>> http://chaishushan.blog.163.**com/ <http://chaishushan.blog.163.com/>
>>> http://chai2010.bitbucket.org/
>>> http://golang-china.org
>>> --
>>> 官网: http://golang-china.org/
>>> IRC: irc.freenode.net #golang-china
>>> @golangchina
>> --
>> 官网: http://golang-china.org/
>> IRC: irc.freenode.net #golang-china
>> @golangchina
> --
> 官网: http://golang-china.org/
> IRC: irc.freenode.net #golang-china
> @golangchina