引入 package i,引入 intreface

package i

type Aprinter interface {
	PrintA()
}
package b

import (
	"fmt"
	"github.com/mantishK/dep/i"
)

func RequireA(o i.Aprinter) {
	o.PrintA()
}
package c

import (
	"github.com/mantishK/dep/a"
	"github.com/mantishK/dep/b"
)

func PrintC() {
	o := a.NewA()
	b.RequireA(o)
}
A depends on B
B depends on I
C depends on A and B