Accessing Structs Across Files in Go

Hey! If you love Go and building Go apps as much as I do, let's connect on Twitter or LinkedIn. I talk about this stuff all the time!

Want to learn how to build better Go applications faster and easier? You can.

Check out my course on the Go Standard Library. You can check it out now for free.


In Go, you can define a struct in one file and use it in another. This is useful for organizing your code into smaller, more manageable pieces. Learn how to do this in this article.

Structs are data structures that allow you to group related variables together. In Go, you can define a struct in one file and use it in another. This is useful for organizing your code into smaller, more manageable pieces.

To access a struct defined in a different file, you need to import the package that contains the struct definition. You do this using an import statement at the beginning of the file where you want to use the struct. For example:

import "github.com/user/mypackage"

This imports the mypackage package from GitHub. You can replace “github.com/user/mypackage” with the URL or path to your package.

Once you’ve imported the package, you can use the struct in your code by referring to it using its full name, which includes the package name and the struct name. For example:

var person mypackage.Person

This declares a variable of type Person from the mypackage package.

You can also use the alias keyword to create an alias for the struct type in your code. This can make it easier to refer to the struct throughout your codebase, without having to repeat the full name every time. For example:

type Employee = mypackage.Person

This creates a new type called Employee that is an alias for the Person struct from the mypackage package.

You can also use the dot operator to access the fields of the struct. For example:

fmt.Println(person.Name)

This prints the value of the Name field of the person variable.

In summary, accessing a struct defined in a different file is simple once you import the package that contains the struct definition. You can use the full name of the struct to refer to it in your code, and create aliases for the struct type using the alias keyword. Additionally, you can use the dot operator to access the fields of the struct.


Questions or comments? Reach out to me


Learn how to leverage the Go Standard Library like a PRO.

I just created a new course, The Go Standard Library, check it out!