Join David Gassner for an in-depth discussion in this video What you need to know, part of Learning Go.
- This course is designed for software developers who want to get started with the Go programming language. You can use Go for many types of software, from simple applications that you can run from a command prompt, to web-based applications. For example, those that might serve up restful web services, all the way to compilers and other low-level systems. Go is a compiled language, and it's based mostly on the C programming language, but it's influenced by many other languages.
Some of the most common languages that you will hear me refer to in the course include C, C++, C#, and Java. The course is built for developers who already have experience with at least one other programming language, and understand the fundamental vocabulary used by all programmers. If you understand terms like function, variable, method, and conditional logic, you should be able to work through this course successfully. In addition to basic programming concepts, Go depends on some common object-oriented programming principles.
For example, encapsulation means that you can build entities in a language that are wrappers for complex functionality, and make it easy to use that functionality with simple calls from other parts of the application. Go implements encapsulation with something called types, and data structures, also known as structs. And polymorphism refers to the ability to deal with one type or object as though it's another type. Polymorphism is frequently associated with inheritance in other language, but as you'll see early in this course, Go doesn't have type inheritance, like C++, C#, Java, or other object-oriented languages, but it does have interfaces, contracts, that can be implemented and satisfied by multiple types.
So understanding polymorphism is also important to being a successful Go programmer. If you're new to programming, I recommend watching this course, Foundations of Programming: Fundamentals. You'll learn all those basic terms I mentioned and many critical concepts that are shared by nearly all programming languages. And, if you need more information about the concepts of object-oriented programming, you can look at this course, Foundations of Programming: Object-Oriented Design.
And again, Go is based on other existing languages and if you want to learn about those languages, the library has courses for those, too, Including C Essential Training, C++ Essential Training, C# Essential Training, Java Essential Training and more. These courses can help you improve your foundational knowledge as you start to learn the Go programming language.
- Installing Go tools
- Creating and compiling a Go workspace
- Exploring variables, constants, and types
- Storing ordered and unordered values
- Grouping related values in structs
- Programming conditional logic and loops
- Defining and calling functions
- Handling errors
- Working with files
- Creating a simple HTTP server