
Explore Go programming inside out, a statically typed language with built-in concurrency and garbage collection, covering packages, hello world examples, and Windows installation with an IDE.
Explore the fundamental Go types—boolean, numeric, string, and derived and aggregate types—along with variables, constants, and basic input/output using fmt and scanning/printing.
Explore data types in Go such as int, float, struct, slice, and interfaces; learn zero values, package structure, imports, and using math, sort, and random number utilities through practical examples.
Explore switch statements and the Go for loop, the language's only loop, including counter and condition controlled variants, and the roles of break and continue.
Explore the for range loop in Go and learn to iterate over slices, maps, and strings, extracting indices and values with blank identifiers.
Master arrays in go as fixed-size, homogeneous sequences. Learn indexing, len for length, ellipsis for inferred size, shorthand declarations, and iterating with for and range.
Explore slices in Go as dynamically sized segments of an underlying array. Learn how to declare, create, slice from arrays, and use the make function, understanding length and capacity.
Explore declaring arrays and creating slices from them, mastering slice syntax, length, capacity, zero value and nil slices, and using make to allocate slices in Go.
Learn Go functions as the basic building blocks, including normal functions, methods, and multiple return values; declare, call, and use functions with parameters, receivers, and pointers.
Explore methods in Go language, learn how a receiver turns a function into a method, apply value and pointer receivers to structs, and compare methods with functions for object-like behavior.
Go is a general purpose programming language .Go is open source. Go is a compiled language. It compiles fast. Go has in-built concurrency support. Go was designed and developed at Google Inc. Go has a feature called Goroutines. Goroutines are lightweight processes . Communication between Goroutines is managed through what is called channels.
Sending and receiving data through channels is done with simple syntax like <- left arrow operator . Golang has got built in support for JSON. JSON is nothing but Java Script Object Notation. Go has so many features like Slice and arrays. Go functions are capable of returning multiple values , unlike most other languages. Go has functions and methods , but Go method is not function. A method can return a receiver which functions are not able to.
Strictly speaking Go is not an Object oriented language. Because Go does not have the concept of classes. In spite of that Go is capable of managing polymorphism and data encapsulation etc. This is facilitated through what is called an interface. Go interface is fundamentally different from interfaces in other languages In short Go is one of the most advanced modern programming languages specifically designed for systems programming in mind.
The Map data structure in Go is an elegant and ingenious mechanism for quick retrieval of data based on the the key-value pairs. Thus Go is a powerful, concise, and elegant language worth learning. This course is a detailed account of the Go programming language covering everything in Golang.