From the course: Learning Go

What you need to know - Go Tutorial

From the course: Learning Go

What you need to know

- [Instructor] 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 including RESTful web services, all the way to compilers, and other low level systems software. 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'll hear me refer to in this course include C, C++, C# and Java. This course is built for developers who already have experience with at least one other programming language and understand the basic 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. If you'd like some information about those foundational topics, look at this course. It's designed to help new programmers understand the nature of programming and the building blocks that make up an application. In addition to basic programming concepts, Go depends on some common object-oriented principles. For example, encapsulation means that you can build entities in a language that are wrappers for complex functionality. These make it easy to use that functionality with simple calls from other parts of the application. Go implements encapsulation with something called types and structs, also known as data structures. Polymorphism is another important object-oriented principle. It refers to the ability to deal with a type or an object as though it's another type. Polymorphism is frequently associated with inheritance in other languages, but as you'll see early in this course, Go doesn't support type inheritance, unlike 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 need more information about the concepts of object-oriented programming, you can watch this course all about object-oriented design. And again, Go is based on other existing languages, and if you want to learn those languages, there are courses for those too, including courses on C, C++, C# and Java. These courses can help you improve your foundational knowledge as you start to learn Go.

Contents