Description
Course info
Rating
(12)
Level
Intermediate
Updated
Jul 29, 2019
Duration
1h 34m
Description

From its very beginning, Go has embraced simplicity as a core ideal to aspire to. However, just because a thing is simple, does not mean that it must compromise its effectiveness. Go’s package system illustrates this point well. This system provides a simple way to organize source code into clear, well-factored units while remaining powerful enough to handle the most challenging organizational requirements. In this course, you will dig into the package system. You will learn about the components of a package and how to use them to ensure that the package remains well organized and can be easily consumed by other parts of your application. You will start by learning about the internal mechanisms of a package and how to use them to ensure that a package is ready to be used. Next, you'll zoom out and learn how to create packages that can easily be consumed by others. Finally, you will learn about the options that are available for consuming external packages. When you're finished with this course, you will have the skills and knowledge of packages needed to create applications that are well organized and easily maintained over time.

About the author
About the author

Michael Van Sickle is an application architect in Akron, Ohio. He is a mechanical engineer by training and a software engineer by choice. He is passionate about learning new programming languages and user experience design.

More from the author
Exploring Go Modules
Intermediate
1h 52m
Aug 26, 2019
Go: Getting Started
Beginner
3h 29m
Jun 28, 2019
More courses by Mike Van Sickle
Section Introduction Transcripts
Section Introduction Transcripts

Course Overview
(Music) Hi everyone. My name is Michael Van Sickle, and welcome to my course, Deep Dive into Go Packages. From its very beginning, Go has embraced simplicity as a core ideal to aspire to. However, just because a thing is simple does not mean that it must compromise its effectiveness. Go's package system illustrates this point well. This system provides a simple way to organize source code into clear, well-factored units while remaining powerful enough to handle the most challenging organizational requirements. In this course, you'll dig into Go's package system. You will learn about the components of a package and how to use them to ensure that a package remains well-organized and can be easily consumed by other parts of your application. You will also explore Go's support for edge cases that can provide ideal solutions to some uncommon, but important scenarios. Some of the major topics that we will cover include the lifecycle of a package, best practices for designing packages, how to control the visibility of package members, and the different ways to import packages and when to use each. By the end of this course, you'll know how to design your packages to make your applications better organized and easier to maintain. Before beginning the course, you should be familiar with the basics of the Go language. I hope you'll join me on this journey to learn about packages with the Deep Dive into Go Packages course, at Pluralsight.