November 2017
Intermediate to advanced
670 pages
17h 35m
English
Let's look at some example code to illustrate this concept. First, let's look at the working code. The packageb package has one, simple public function and no imports:
dependency-rule-good/src/packagea/featurea.go
package packagebfunc Btask() { println("B")}
The packagea package has one, simple public function and imports packageb:
// dependency-rule-good/src/packageb/featureb.gopackage packageaimport b "packageb"func Atask() { println("A") b.Btask()}
Here's our main function where we run Atask from packagea:
// dependency-rule-good/main.gopackage mainimport a "packagea"func main() { a.Atask()}
Output:
AB