通过go-ethereum源码看如何管理项目

  今天抽空看了下go-ethereum项目的源码 ( https://github.com/ethereum/go-ethereum ),其中 ethereum 是github下的一个帐号。go-ethereum只是ethereum帐号下的一个仓库,每个仓库下放着一个项目(当然这个项目也可能包含着多个子项目,但都统一在这个仓库目录下了)。

       下面是go-ethereum项目内部的情况:

      

     可以看到go-ethereum这个仓库的目录下有许多的子项目 , go语言的每个文件有点类似于java语言中的类文件,每个java类文件中的package = import path + go文件的package 

这点正是java项目与go项目在设计时要注意的地方。

     在go语言中,go build 入口是一个main包。

  • 有main包才能生产可执行文件
  • 同一个包里的方法可以互相调用(除了main包之外)
  • 其他包不能调用main包里的方法,但main包可以调用其他包的方法
  • 同一个目录下只能有一个package
原文地址:https://www.cnblogs.com/hzhuxin/p/9936135.html