Featured Courses
Students who take Go, also register the below courses:
Go is a statically typed compiled language famous for its straightforward, simple syntax. It addresses the common pitfalls of C while maintaining its performance and interoperability.
Despite this simplicity, Go is designed to handle concurrency. And it suffers from the complexity this entails.
Go is also quite idiomatic, which makes best practices a little elusive.
Another amazing feature of Go is that like Python, you can write both functional and Object-Oriented codes in Go.
Why Learn Go?
- Go (or Golang) is an open source programming language designed to build fast, reliable, and efficient software at scale.
- Google uses Go specifically for its large networks of servers, and Go also powers much of Google’s own cloud platform. Developers use Go in application development, web development, in operations and infrastructure teams, and much more. It is the language of Cloud Native infrastructure, blockchain Hyperledger Fabric and software development.
- As Go’s popularity and adoption continue to increase, we’ll see even greater usage and more creative implementations of the language!
Learning Objectives
After finishing this self-paced course, you will learn:
- The setup of a Go environment and how to create a Go file.
- Go’s data types and variables.
- Go's constants
- Go’s conditional statements.
- Go for and while loops
- Using functions in Go.
- How to import or install Go packages
- How to work with arrays in Go
- How to harness the power of Slices in Go
Topics and Subtopics
Here is the course outline:
1. Golang Installation, Setup, GOPATH, and Go Workspace
- Installations on Linux, Mac or Windows
- The Go tool
- GOPATH, Go Workspace, and Go Code Organization
Â
2. Hello Golang: Writing your first Golang Program
3. Golang Variables, Zero Values, and Type Inference
- Introduction to Variables and Data Types
- Declaring Variables
- Zero values
- Declaring Variables with initial Value
- Type inference
- Short Declaration
4. Golang Basic Types, Operators and Type Conversion
- Numeric Types
- Operations on Numeric Types
- Booleans
- Operations on Boolean Types
- Complex Numbers
- Operations on complex numbers
- Strings
- Type Conversion
5. Working with Constants in Golang
- Declaring a Constant
- Typed and Untyped Constants
- Constants and Type inference: Default Type
- Constant expressions
- Constant Expression Examples
6. Golang Control Flow Statements: If, Switch and For
- If Statement
- If-Else Statement
- If-Else-If Chain
- If with a short statement
- Switch Statement
- Switch with a short statement
- Combining multiple Switch cases
- Switch with no expression
- For Loop
7. Introduction to Functions in Golang
- Declaring and Calling Functions in Golang
- Functions with multiple return values
- Returning an error value from a function
- Functions with named return values
- Blank Identifier
8. A Beginner Guide to Packages in Golang
- Go Package
- The main package and main() function
- Importing Packages
- Creating and managing custom Packages
- Adding 3rd party Packages
- Manually installing packages
9. Working with Arrays in Golang
- Declaring an Array in Golang
- Accessing array elements by their index
- Initializing an array using an array literal
- Letting Go compiler infer the length of the array
- Exploring more about Golang arrays
- Iterating over an array in Golang
- Iterating over an array using range
- Multidimensional arrays in Golang
10. Introduction to Slices in Golang
- Declaring a Slice
- Creating and Initializing a Slice
- Modifying a slice
- Length and Capacity of a Slice
- Creating a slice using the built-in make() function
- Zero value of slices
- Slice Functions
- Slice of slices
- Iterating over a slice
Requirements
None.
Related Courses
- Introduction to C Programming
- Learn C++ Programming by Examples
- Introduction to Java Programming
- Learn Kotlin Programming by Examples
- Introduction to Python Programming
Complete Training Bundle
If you are serious about becoming a pro software engineer, you should enroll in our Complete Training Bundle for Software Engineers class, This bundle covers all essential and practical topics related to software design and development. For $290 monthly subscription, you can have access to 300+ hours of hands-on project-based training covering all courses related to software development like Python, Java, Kotlin, C/C++ Go and more. Click here to learn more.
Private Tutoring Classes
To take skills you learn from this course to the next level, taking the Coding Bootcamps school tutoring classes are highly recommended. It is also a great opportunity to discuss your questions and problems related to this course with an experienced instructor:
- Private tutoring sessions for software design and engineering- Weekly and monthly plans
- Go programming language- Private tutoring sessions
What Is Next?
After finishing this course, you can enroll in any of following classes:
- Introduction to Database Design
- Learn SQL Programming by Examples
- Intro to Blockchain Technology
- Introduction to Linux OS
- Intro to Linux Bash Scripting
Recommended Free Courses
If you are new to the IT or programming, we suggest the following free courses:
Course Curriculum
- 01- if Condition (7:40)
- 02- if else Condition & if else if Condition (6:41)
- 03- switch Statement (4:31)
- 04- switch Combined Cases (3:33)
- 05- switch with no Expression (3:17)
- 06- for Loop, for without Unit Statement & Increment Statement (4:39)
- 07- for Infinite Loop, Loop with break & continue (4:38)
- 01- Declaring an Array in Golang & Accessing array Elements by their Index (8:45)
- 02- Initializing an array Using an array Literal (3:55)
- 03- array Value Types (6:05)
- 04- Iterating over an array in Golang (5:02)
- 05- Iterating over an array Using Range (3:54)
- 06- Multidimensional arrays in Golang (7:43)
- 01- Creating and Initializing a slice (3:53)
- 02- Create slice from array or another slice (4:57)
- 03- Modify a slice (2:57)
- 04- Length and Capacity of a slice & extend slice Capacity (4:40)
- 05- Creating a slice Using the Built-in make() Function (1:30)
- 06- Copy slices (3:04)
- 07- slice append (4:13)
- 08- slice append capacity and append nil (5:57)
- 09- slice of slices (5:33)
- 10- slice Iterate for Loop, Range, and Range Blank Identifier (6:00)
Jace Fugate - Full-stack and Cloud Engineer
Jace graduated from Dixie State University with a Bachelor's Degree in Computer Information Technology.
He has worked as a full time developer in many industries including education and communications software.
His main area of focus is working on the back-end, database and network layers of computer systems.
User interfaces and experience was his original career path in computers and still loves to have the opportunity to create front-end designs.
Jace loves all opportunities to teach and to help others grow their skills.
Featured Courses
Students who take Go, also register the below courses: