We may earn an affiliate commission when you visit our partners.
Course image
Tony de Araujo

The Go Syntax series was designed specifically for busy professionals who want to incrementally learn Go syntax on their spare time. You will not find lengthy projects here – just short, repeatable exercises. This is the first of three volumes.

Each of the three-volume projects are self-contained, but if you are going to do all three, this is the one to start with because it provides basic information that makes the other two volumes clearer.

What you will learn

Read more

The Go Syntax series was designed specifically for busy professionals who want to incrementally learn Go syntax on their spare time. You will not find lengthy projects here – just short, repeatable exercises. This is the first of three volumes.

Each of the three-volume projects are self-contained, but if you are going to do all three, this is the one to start with because it provides basic information that makes the other two volumes clearer.

What you will learn

To give you a more effective study environment, this course is purposefully limited in scope.  Attempting to cover everything about GO would not be practical, and it would do you a disservice. However, you will learn quite a lot in a truly short time, and you can always return to repeat the exercises.

This is the first volume of a Computer Literacy Series with emphasis on the Go language, but if you are already familiar with programming and just want to see how Go syntax is written, this course has taken your prior knowledge into consideration by keeping explanations simple and to the point. It serves as a learning tool and a review tool as well.

Even if you have taken Go before, this volume is written to expand awareness on the subject.

The Go Language: Your First Code Adventure covers the fundamentals of GO in plain language, and as quickly as possible for practicality and enjoyment reasons.

When you less expect, you would have covered the following topics:

  • Basic syntax introduction.

  • Variables.

  • Datatypes and their purpose.

  • Control flow with if, else, and switch.

  • Basic functions, arguments, parameters.

  • Passing data by value.

  • Passing data by reference with pointers. (Great explanation)

  • Loops.

  • How to install and test GO locally.

  • Basic command line or terminal skills. (step by step)

  • How to get input data from the keyboard

  • How to create files and folders via the terminal.

  • How to create a GO file.

  • How to run a GO file.

  • How to create an executable file from GO source code.

  • Introduction to input output in GO and how to write to a file.

  • Some advanced concepts that need to be covered early on.

(Data structures will be introduced on other volumes.  You will not need them for the GO exercises discussed in this volume).

Each lesson is short and to the point

I know, it is hard to return home after a long day's work and still try learning something anew. You want to study a programming language, perhaps your very first one, but at the end of the day, your energy is just not there.

So, what can you do?

  • First, choose a programming language that matters in 2024 and beyond, one that is not in constant morphing and deprecation.

With so many languages to choose from, what if you pick the wrong one and only discover your mistake months later? Should you go with JavaScript, Python, C#, or C?  Should you select a more modern one, like the GO language from Google? So many decisions and so little time to waste.

This course will assist you in your GO learning journey. Learning Go will also help you learn other languages later.

  • Second, choose a short (but meaningful) course of study.

My friend, if you feel overwhelmed but still want to learn something new, this course series is for you. First, you will be learning one of the hottest languages in the planet, the Go language or Golang.Learning Go will put you ahead of the game.

But even if you don't care about language popularity and demand, the Go language is a great tool to work with because it is simple, very powerful, and contemporary. Go will also help you understand what other languages are trying to do, such as PHP, JavaScript, and Python.

Yes, being a well written language, studying Go may clear up any confusion you have about older languages you already know.

You see, many languages offer a variety of ways to accomplish a similar outcome. In contrast, Go offers a one-way to write code and write it well, and that makes the language easier to learn at first and easier to program with. It also makes you a better programmer because you have more energy to think about solutions rather than syntax.

For example, when it comes to loops, why should you learn so many keywords, such as while, do, until, for, and so on? The creators of GO decided that we only need a single keyword to declare a loop, the for keyword.

When programmers know what they are doing, they avoid unnecessary abstractions that bloat the language. You can write any other loop outcome by just using FOR. As a benefit, you will not have to memorize unnecessary commands that lead to the same outcome, and you will think more of finding solutions to help you in your professional projects.

That's simplicity at its best.

  • In addition, this course series takes into consideration your limited daily study time. Here, topics are written recursively and with plenty of self-contained exercises so that you don't have to start afresh when you forget things after taking a few days off.

  • Every concept is explained in plain language, avoiding industry jargon. If you concentrate on this a few minutes a day, you will learn and relearn how to program in GO.

Summary

And that is it, my friend. I was thinking of busy people while designing the course. It's like something I wish I had when I began my Go studies instead of spending countless hours doing extra research to discover why things worked the way they work. Time is money.

If you invest a few minutes a day in it, you will learn and grow, and you'll still have enough of your evening to enjoy quality  moments with your family and friends.

Read the reviews from other students and make an investment decision- Subscribe now so we can get started. This is a joyful approach to the Go language you won't regret.

Enroll now

What's inside

Learning objectives

  • Learn the basics of the go language in a fast, easy, and proficient manner. 90% of the course can be done on the official go playground.
  • It covers variables, constants, enums, types, functions, printing to screen, printing to file, plus lots of details on dos and don'ts.
  • Arrays and slices are covered on volume 2 (a free course).
  • You will learn basic go programming by working through easy but important short exercises.
  • This works, because explanations are recursive to refresh your mind, as you move forward in your studies [or return to review].
  • Please read the reviews for a better assessment. they were written by former students.

Syllabus

Variables and Pointers, Short Declaration, Library Imports, Println and Printf

How to access the Go language Playground. How to adjust the results pane for a better Go result view

Read more

The Go syntax of a main program file. How to import a Go library. Some basic but practical concepts in Go.

How to declare and assign a variable of type string in the Go language.

Assigning variables outside of functions. Also, and introduction to the Go colon equals assignment operator.

Written explanation on the two ways of declaring a variable in Go.

Which variable declaration style should you use in Go and where should you use it.

The purpose of multi-line import declarations wrapped with parentheses.

Introduction to Printf, variable placeholders or verbs in Go, and line return commands.

Further reading material.

How to disable a line of code or making human readable comments in Go code.

In the Go language all variables declared inside of functions must be put to use before compiling.

Declaring variables of type int and float64 in Go. Further practicing with Println and Printf.

How to convert a number to a string in Go.  Explicit conversions. Introduction to the strconv library.

How to get the memory address of a variable. Passing data by value, passing data by reference or by pointer. Variable referencing and dereferencing in Go.

How to assign a variable to a memory address in Go. How to dereference a pointer variable.  Introducing the pointer string type.

The following quiz serves to help you cement some of the concepts before we proceed to the next topic. It has no other purpose.

Introduction to comparison operators in Go. The bool data type.

How to check the data type of a variable with the TypeOf operator. Introducing the reflect package.

How to write conditional statements in Go. Introducing if, else if, else.

Introducing the for loop in Go. Explanation of the ++ command.

Using the modulus or modulo operator  in Go to find odd and even numbers.

How to use a for loop to select odd and even numbers.

Introducing Go Boolean operators. The short-circuit evaluation, also known as minimal evaluation, or McCarthy evaluation semantics of some Boolean operators.

Explanation of the FizzBuzz exercise using if conditional statements in Go.

Introducing the Switch statement in Go. There is no fall through but we can add the keyword is fall

through is needed. Code samples are available for downloading.

How to write the FizzBuzz game in a switch style in Go.

Introduction to functions in Go.

How to declare and invoke a function in Go. Function expressions and function declarations. Function naming convention. Naming identifiers for export.

Introduction to function and block scope. How to access variables from outside of the function.

How to submit data into functions via parameters. Difference between arguments and parameters. Some possible errors when submitting arguments to functions.

How to convert strings to uppercase, lowercase, and title capitalization in the Go language.  Use ToLower, ToUpper, Title from the "strings" package.

This exercise converts lowercase to uppercase and it also shows that function arguments are normally passed in by value (as a copy).

How to pass arguments to a function in a way that affects the original value. Passing by reference.

Introducing the return statement in Go.

How to return two or more values from a function. How to assign consecutive values to consecutive variables.

The blank identifier allows us to ignore a value coming from a multiple value set. It prevents the code from going into error.

Preliminary information for the video that follows.  Converting Fahrenheit degrees to Celsius.

This video introduces the datatype float64  in Go and explains how to declare a function that converts Fahrenheit to Celsius.

Variables being evaluated by an if conditional statement can have a global, or a block scope. In this video you will see how to limit the variable scope to the if statement where it is being used.

A switch with no test expression is an implicit true switch. How to print verbatim multi-line strings with Println.

How to write a while and do while loop in Go using the for loop keyword.

How to delay an instruction in Go so that it runs at the end of the process.

Introducing the nil value. How to reassign a variable using a pointer.  Go does not have pointer arithmetic.

How to verify if you already have Go installed in your system. How to install Go. Where to get help on removing Go from a computer or any other issues.

How to create folders and files via the terminal. How to create a Go file. How to run a Go file. How to create an executable file from Go source code.

How to get input from the keyboard and save it in a variable for further manipulation. Introducing the Scan function.

Code demonstration based on the last session. How to use the terminal to create a Go file then run or build and test. Introducing the Scan function.

This video describes the outcome of two simple exercises on getting input from a user. Then, it challenges you to write the code on your own. Sample code is available to download in case you have questions about it.

How to add user input to your existing Fahrenheit to Celsius conversion.

Introduction to file creation in Go and how to write to a file using packages OS, and BUFIO. What are data streams. What's the purpose of Fprintln. The functions Create, Flush, and NewWriter.

How to create a file in Go. How to append data to an existing file. The difference between Create and OpenFile functions. Introduction to file permissions.

How to input a text line from the terminal using the Go language and then save it. Introducing os.Stdin, bufio.NewReader, and bufio.ReadString.

How to read and display text from a computer file in Go. Introducing os.Open, bufio NewScanner, as well as the functions Scan, and  Text. How to display a selected number of line from a long text file.

This exercise will show you how to get an input string from the terminal and then trim any leading and trailing spaces from it. In addition, you will see how to bypass imported packages while testing your code.

This exercise picks up from the last session and adds a second input mechanism. It also illustrates to to move functionality from main into its own function.

How to get input from user, then save it to a file named by the user.

You have made it possible and I'm so glad to be part of your journey. Thank you.

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Provides a practical introduction to Go syntax with short, repeatable exercises, making it accessible for those with limited time or prior programming experience
Designed with busy professionals in mind, offering short, focused lessons that can be completed in small increments of time, fitting into a hectic schedule
Focuses on Go, a contemporary language from Google, which can provide a strong foundation for understanding other modern languages and their design principles
Emphasizes a simplified approach to programming concepts, such as loops, by focusing on a single, versatile keyword ('for') to reduce cognitive load and promote problem-solving skills
Presents topics recursively with self-contained exercises, which allows learners to easily review and reinforce concepts, even after taking breaks from studying
Requires learners to take two additional volumes to learn about data structures, which may be inconvenient for learners seeking a comprehensive introduction in a single course

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Go language fundamentals - vol 1

According to students, this course offers a fast and joyful introduction to Go fundamentals, specifically designed for busy professionals and beginners. It focuses on fundamental syntax, variables, types, and control flow through short, repeatable exercises that are easy to fit into spare time. The course aims to teach the basics quickly and proficiently using plain language and recursive explanations. Students appreciate that concepts are explained simply, avoiding jargon. However, it is important to note this is the first volume of a series and does not include lengthy projects, focusing instead on core syntax and foundational concepts as a first adventure into Go.
Easy to understand explanations
"The explanations were really easy to follow, no confusing jargon."
"Everything was explained in plain language, great for a beginner."
"I found the simple language made learning much more accessible."
Fits short study sessions
"I was able to fit the short lessons into my busy schedule easily."
"Perfect for learning after work, the lessons are bite-sized."
"This is great for studying in your spare time, just a few minutes a day."
Practical coding practice
"The short, repeatable exercises helped reinforce the concepts."
"Hands-on coding practice after each lesson was very helpful."
"I really liked the practical exercises provided."
Good introduction to core Go
"I learned the essential Go syntax and variables."
"It gives you a solid foundation in Go datatypes and control flow."
"Helped me get a grip on basic functions and pointers."
Volume 1, limited scope
"Keep in mind this is just the first volume, very introductory."
"Don't expect to build complex projects, it's focused on syntax."
"It provides a first adventure, not a deep dive into everything Go."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in The Go Language: Your First Code Adventure with these activities:
Review Basic Programming Concepts
Reinforce fundamental programming concepts like variables, data types, and control flow to ensure a solid foundation for learning Go syntax.
Browse courses on Variables
Show steps
  • Review notes or online resources covering basic programming concepts.
  • Complete practice exercises on variables, data types, and control flow.
  • Write simple programs using these concepts in a language you are already familiar with.
Review: Head First Go
Supplement the course material with a comprehensive and beginner-friendly guide to Go programming.
View Head First Go on Amazon
Show steps
  • Read the first few chapters of Head First Go to get a solid understanding of the basics.
  • Work through the examples and exercises in the book.
  • Compare the book's explanations with the course material to reinforce your understanding.
Go Playground Exercises
Reinforce Go syntax and concepts by completing short, focused exercises on the Go Playground.
Show steps
  • Visit the Go Playground website.
  • Write code snippets to practice declaring variables, writing functions, and using control flow statements.
  • Experiment with different syntax variations and observe the results.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Create a Go Cheat Sheet
Solidify your understanding of Go syntax by creating a concise cheat sheet for quick reference.
Browse courses on Syntax
Show steps
  • Review the course materials and identify key syntax elements.
  • Organize the cheat sheet into logical sections (e.g., variables, data types, control flow, functions).
  • Include examples for each syntax element.
  • Share your cheat sheet with other students for feedback.
Help Others on Go Forums
Reinforce your understanding by helping other students with their Go questions on online forums.
Browse courses on Syntax
Show steps
  • Find online forums or communities dedicated to Go programming.
  • Browse the forums for questions related to the topics covered in the course.
  • Provide helpful and accurate answers to the questions.
  • Explain your reasoning and provide code examples when appropriate.
Simple Command-Line Tool
Apply your Go knowledge by building a simple command-line tool that takes input, processes it, and produces output.
Browse courses on Command-line
Show steps
  • Choose a simple task for your command-line tool (e.g., a unit converter, a simple calculator).
  • Design the input and output format for your tool.
  • Write the Go code to implement the tool's functionality.
  • Test your tool thoroughly with different inputs.
Review: The Go Programming Language
Deepen your understanding of Go with a comprehensive and authoritative guide to the language.
Show steps
  • Read chapters related to topics covered in the course.
  • Work through the examples and exercises in the book.
  • Use the book as a reference for more advanced topics.

Career center

Learners who complete The Go Language: Your First Code Adventure will develop knowledge and skills that may be useful to these careers:
Software Developer
A Software Developer designs, develops, and maintains software applications. This role often involves writing code, debugging, and collaborating with other developers. With this course's focus on the Go language, you will gain a strong foundation in programming fundamentals, learning key concepts such as variables, data types, control flow, and functions. You will also practice installing and testing Go programs locally. Additionally, you will learn how to create files, write to them, and get user input which are all relevant to software development. This course is beneficial for anyone looking to begin their journey as a software developer.
Backend Engineer
A Backend Engineer is responsible for the server-side logic and databases that power applications. The work often focuses on coding, APIs, and ensuring systems are robust and scalable. The course material, which covers the fundamentals of Go syntax, including variables, data types, control flow, and functions, provides an important starting point for a backend engineer. Additionally, the course's emphasis on terminal skills, file creation, input/output, and building executable files assists in real-world backend development tasks. This course helps those seeking to enter backend engineering by providing crucial early-stage programming skills.
Systems Programmer
A Systems Programmer works on the low-level software that interacts directly with computer hardware. This can include operating systems, device drivers, and system utilities. This course may be useful for aspiring systems programmers because it introduces the Go language, which can be used for systems programming. The course covers core syntax, data types, control flow, and functions, which are universally applicable concepts. By learning how to install and test Go locally, how to create executable files, and basic command line skills, a learner will gain practical experience for a role as a systems programmer. This course lays the groundwork for those interested in systems programming.
DevOps Engineer
A DevOps Engineer works to bridge the gap between software development and operations, focusing on automation, infrastructure, and deployment. The Go language is often used to build tools and automate processes in a DevOps environment. The knowledge gained from this course, which includes the basics of Go syntax, command line skills, and file manipulation, can be helpful in the role of a DevOps engineer. This course provides programming experience that can be applied to DevOps tasks and those interested in DevOps may find this course a useful introduction to a relevant language.
Automation Engineer
An Automation Engineer designs, develops, and implements automated systems and processes. This involves using programming languages, scripts, and other tools to streamline workflows. As the course teaches the fundamentals of the Go language, including control flow, data types, and functions, it may assist in an automation engineer's role. The course also goes into command line skills and file manipulation, which can apply to automation tasks. This course can help you start to practice automation engineer tasks using Go.
Embedded Systems Engineer
An Embedded Systems Engineer designs and develops software for embedded systems, such as those found in appliances and other devices. This often involves programming close to the hardware level. The course focuses on practical Go programming, covering topics such as variables, data types, control flow, and functions. It also explores command-line skills and local execution, all valuable for someone who works on embedded systems. While Go may not be the most common language in this field, this course may be useful for those interested in expanding their toolset.
Mobile Application Developer
A Mobile Application Developer creates applications for mobile devices, often focusing on user interface and experience. While Go is not as common for front-end mobile development, its efficiency makes it valuable for backend mobile services. The course's focus on core language concepts like variables, functions, data types, and control flow, will help those interested in working in the mobile app space. If you are interested in mobile development you may find that this course is beneficial.
Web Developer
A Web Developer builds and maintains websites and web applications. This role involves coding both the front end and the back end. While this course focuses specifically on Go syntax, which is typically used for back-end development, the programming skills gained, including working with variables, control flow, functions, and basic input/output operations will be helpful to any web developer. This course may be useful for those wanting to explore back-end web development.
Game Developer
A Game Developer creates video games for various platforms including consoles, PCs and mobile devices. While the course does not focus on game development directly, the programming fundamentals it teaches, such as variables, data types, and control flow, are universal concepts that will apply towards this role. The course may be useful to game developers who are looking to expand their toolset, and learn a new language. While Go is not the most common language for this role, a game developer should have exposure to many different programming languages.
Data Engineer
A Data Engineer designs builds and manages the infrastructure required for data storage, analysis, and retrieval. This typically includes setting up databases, data pipelines, and data warehousing solutions. The core concepts of Go syntax, such as variables, data types, control flow, and functions, covered in this course can be helpful to a data engineer. The course also covers how to read from and write to files, which may also prove useful. This is a strong foundation for a beginner in this field.
Technical Consultant
A Technical Consultant provides expertise in technology to clients. This role often involves understanding client needs and offering solutions that leverage technology. This course provides an introduction to the Go language, and many of the core concepts needed by technical consultants. Though knowledge of the Go language may not be directly required in all consulting roles, the programming skills gained from this course, including working with variables, control flow, functions, and basic input/output operations can help you to better understand software development processes. This course may be useful to those who wish to become more technically inclined within a consulting role.
Quality Assurance Engineer
A Quality Assurance Engineer, also known as a QA Engineer, works to ensure the quality of software products. They often write test cases, and use automated tools to find flaws in software. The course provides a basic understanding of programming with Go, including syntax, variables, and functions. Even though QA Engineers do not often write code in Go, the general knowledge of programming may be useful. By learning the basics of programming, a learner may more effectively help test software products. A QA engineer may find that this course is beneficial.
Technical Writer
A Technical Writer creates documentation, tutorials, and other written materials that explain complex technical concepts to a diverse audience. While a technical writer does not often code, this course may benefit those who need a better understanding of the Go language. Exposure to programming concepts such as control flow, data types, functions, and file manipulation helps writers gain a more comprehensive understanding of software development. This course may also be useful to the technical writer who needs to produce documentation for the Go language itself.
IT Support Specialist
An IT Support Specialist provides technical assistance to users, troubleshooting hardware and software issues. The course provides a brief introduction to programming with Go, command line skills, and file manipulation. While not crucial for daily IT support tasks, it can help IT Support Specialists understand basic programming concepts, and improve their overall understanding of software systems. Someone in this role may find the course to be beneficial, if they want to better understand software development.
Project Manager
A Project Manager coordinates and oversees projects, ensuring they are completed on time, within budget, and meet objectives. Although they do not directly program, having familiarity with programming languages may be valuable, particularly in software projects. This course introduces basic programming concepts in the Go language, which may be useful for a project manager. This information can provide a deeper understanding of the work, though it is not essential. A project manager who wants to better understand the software development process may find this course useful.

Reading list

We've selected two books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in The Go Language: Your First Code Adventure.
This book, often referred to as "The K&D of Go," comprehensive and authoritative guide to the Go programming language. It covers all aspects of the language in detail, from basic syntax to advanced topics. While it may be more suitable for experienced programmers, it serves as an excellent reference for anyone who wants to deepen their understanding of Go. It is commonly used as a textbook in university courses.
Head First Go provides a visually rich and engaging introduction to the Go language. It covers the fundamentals of Go programming in a way that is easy to understand and remember. is particularly useful for beginners who are new to programming or who prefer a more visual learning style. It serves as a great companion to the course, offering additional examples and explanations.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser