1. Home
  2. Training Library
  3. DevOps
  4. Courses
  5. Introduction to the Go Programming Language

Arrays

play-arrow
Start course
Overview
DifficultyBeginner
Duration2h 17m
Students507
Ratings
4.7/5
starstarstarstarstar-half

Description

If you're thinking about engineering the next big dotcom application then you should seriously consider using Go!! 

The Go Programming Language is without doubt one of the hottest languages to learn, particularly in this cloud native era. More and more companies are adopting Go to engineer highly performant, stable and maintainable applications. Popular projects such as Docker, Kubernetes, Terraform, Etcd, Istio, InfluxDB have all been built successfully using Go!! 

This introductory level training course is designed to bring you quickly up to speed with the many key features that the Go programming language provides. You'll also learn how to setup your own Go development environment - consisting of the Go toolchain, Visual Studio Code, and several related Go based extensions - all to ensure that you are able to be productive writing your own source code.

We’d love to get your feedback on this course, so please give it a rating when you’re finished. If you have any queries or suggestions, please contact us at support@cloudacademy.com.

Learning Objectives

By completing this course, you will:

  • Learn about what makes Go a great language
  • Learn how to install the Go toolchain
  • Learn how to setup Visual Studio Code to edit and debug Go programs
  • Learn how to work with the Go Playground to test and run snippets of Go code
  • Learn and understand the basic Go language syntax and features
  • Learn how to use the Go tool chain commands to compile, test, and manage Go code
  • And finally, you’ll learn how to work with and manage Go modules for module dependency management

Intended Audience

This course is intended for:

  • Anyone interested in learning the Go Programming Language
  • Software Developers interested in using Go to compile and test Go based applications
  • DevOps practitioners looking to learn about Go to support Go based applications

Prerequisites

To get the most from this course, you should have at least:

  • A basic understanding of software development and the software development life cycle

Source Code

All sample Go source code as used and demonstrated within this course can be found here:

Transcript

- [Jeremy Cook] Arrays are useful for storing likewise elements such ints, strings, structs together in a fixed sized array, fixed at compile time. 

In the example shown here, array1 defined on line six creates an array which can hold four integers. Since the array is not explicitly initialized, each element within the array will be initialized with the data types zero value, which we know for an integer is zero. Line seven demonstrates how arrays can be created and initialized using shorthand notation, in this case, the compiler infers the size of the array, which in this case is five. Lines 14 to 16 demonstrate how to iterate over an array using the range keyword. 

In this example, the underscore is used to receive and discard the index value. We need to do this since we do not reference it within the for loop, the Go compiler does not allow you to declare variables that are unused, Line 18 demonstrates how to index and update a value, in this case, we are setting the very first element to have the value 10. Arrays can be multidimensional as seen by array three spanning lines 25 to 28, where this defines and initializes an array of arrays. Running this example produces the following output. 

A few notes regarding arrays. Arrays have a fixed size, you cannot resize arrays. However, Go provides the slice data structure which builds on top of arrays and provides additional capabilities such as resizing. And an array's length is part of its type.

About the Author

Students28510
Labs32
Courses93
Learning paths22

Jeremy is the DevOps Content Lead at Cloud Academy where he specializes in developing technical training documentation for DevOps.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 20+ years. In recent times, Jeremy has been focused on DevOps, Cloud, Security, and Machine Learning.

Jeremy holds professional certifications for both the AWS and GCP cloud platforms.
 

Covered Topics