A Beginners Guide to Packages in Golang: With Examples

In Go, a package is a collection of related Go source files that are compiled together into a single binary executable file. A package provides a way to organize and reuse code, making it easier to maintain and share.

In this article, we will discuss what packages are, how to create and use them in your Go programs, and provide some examples to help you get started.

What is a Package in Go?

A package in Go is a collection of related Go source files that are compiled together to form a single unit of functionality. Each package has a unique name and can be used by other packages or programs by importing it.

A package can contain the following elements:

  • Functions

  • Variables

  • Types (structs, interfaces, etc.)

  • Constants

Packages can be used to create libraries or reusable modules that can be used by other projects. This makes it easier to develop large, complex applications with multiple modules, as each module can be developed and tested independently.

Creating a Package

Creating a package in Go is straightforward. Here are the steps to create a new package:

  1. Create a new folder with the name of the package you want to create. For example, if you want to create a package called mylib, create a folder called mylib.

  2. Create one or more Go source files in the new folder. The name of the source file should be descriptive of the package contents. For example, if your package contains functions for working with strings, you might create a file called string_utils.go.

  3. Add the package statement at the beginning of each source file. The package statement tells Go that this file belongs to a specific package.

package mylib

// Add two integers
func Add(a, b int) int {
    return a + b

In this example, we have created a package called mylib with a single function called Add.

Importing a Package

To use a package in Go, you need to import it. Importing a package makes its functions, variables, and types available for use in your program.

To import a package, use the import statement at the beginning of your Go program. For example, using the Add function from the mylib package, we would add the following code to our program:

package main

import (

func main() {
    sum := mylib.Add(1, 2)
    fmt.Println(sum) // Output: 3

In this example, we are importing the fmt package for formatting output and the mylib the package that we created earlier.

Naming Conventions for Packages

Packages in Go are named using a reverse domain name notation. For example, if your organization's domain name is example.com, you might name your package com.example.mylib.

It's also common to use shorter names for packages that are frequently used in your code. For example, the fmt package for formatting output is commonly used, so it's named simply fmt.


Packages are an essential part of the Go programming language. They enable developers to create reusable modules that can be used across multiple projects. By organizing code into packages, developers can create more maintainable and scalable applications. In this article, we explored what packages are, how to create and use them, and some naming conventions for packages in Go. With this knowledge, you can start creating your packages and using packages from the Go standard library and other developers.

I hope this helps, you!!

More such articles:





If this article adds any value to you then please clap and comment.

Let’s connect on Stackoverflow, LinkedIn, & Twitter.

Did you find this article valuable?

Support techwasti by becoming a sponsor. Any amount is appreciated!