在golang中的不同包中将对象子类化

I'm trying to create a base object for all my structs in golang. For some reason I can't get it to work when the new object I create is in a different package. It works fine when they are in the same package/folder.

e.g. a base class for all objects

package Test

type BaseObject struct {
    base interface{}
}

---- Sub Folder Test\Stuff ---

create a new TestObject which subclasses BaseObject

package Stuff

import Test "Test"

type TestObject struct{
    Test.BaseObject
}
func (this *TestObject)DoSomething(){
    any reference to this.base or this.BaseObject.base fails!!!
}

--- In the same folder, everthing works ---

package Test

type TestObject struct{
    BaseObject
}
func (this *TestObject)DoSomething(){
    any reference to this.base works fine??
}

You can't reference hidden or "private" fields in structs outside their packages.

If you would just do:

type BaseObject struct {
    Base interface{}
}

Base will be exposed or "public" in the context of other packages, and everything will work.