
Learn How To Code: Google's Go (golang) Programming Language
Go was developed as a result of unhappiness with other systems programming languages and environments. The choice of programming languages was somewhat to blame for how complex programming had become. The most thorough resource available for learning the Go programming language is this course. Both novice developers and seasoned programmers will benefit much from this training. The course is jam-packed with illustrations, practical exercises, practical exercise solutions, and a fantastic code repository. Todd McLeod, one of the foremost Go Programming Trainers in the world, is the instructor for this course. Todd was the first professor to teach Go at a university level in America. Over 3.25 million students have learned the Go programming language from Todd. This course has been tried, tested, and proved to teach both novice and seasoned developers Go. Go is designed to be quick to use; on a single machine, building a big executable should only take a few seconds. A variety of language challenges, including concurrency and garbage collection, a tight dependency definition, an expressive but lightweight type system, and others, had to be addressed in order to achieve these aims. A new language was required since libraries and tools cannot adequately solve this. You can learn everything you need to know in this course using the tools and content that are most appropriate for your level of competence. You will have lifetime access to this course once you enrol in it. You'll have the freedom to study at your own speed. The information will always be available to you so that you can examine it or pick up new ideas when you need them. What is golang? Programming language Go was created at Google by Robert Griesemer, Rob Pike, and Ken Thompson. It is statically typed and compiled. Similar in syntax to C, but with memory safety, garbage collection, structural typing, and concurrency in the CSP style Go is a general-purpose open source programming language that is sometimes known as Golang or Go. To construct stable and effective software, Google engineers created the language Go. Go is statically typed and explicit, most resembling C. The benefits of Golang are, a Google-supported open-source programming language Excellent for teams and simple to learn Concurrency built-in with a solid standard library large partner, community, and tool ecosystem Why Should You Learn Go (Golang)? Efficient Performance The design of Go places a strong priority on performance, providing it well-suited for the development of high-performance applications. Simplicity and Readability The concise syntax and easy design of the Go programming language contribute to enhanced code readability and facilitate simplicity of maintenance. Concurrent Programming The Go programming language possesses inherent capabilities for managing concurrency, facilitating the efficient execution of multiple activities simultaneously. Scalability The lightweight nature of Go's goroutines and its efficient utilization of memory contribute to its scalability in the context of large-scale applications. Fast Compilation The rapid compilation speeds of the Go programming language enhance the efficiency of development and deployment procedures. Open-Source Community The Go programming language boasts a strong open-source ecosystem, which offers a wide range of libraries and comprehensive developer support. Cross-Platform The Go programming language enables the transferability of code across diverse platforms, encompassing Windows, macOS, and Linux. Server-Side Applications Go programming language shines in the development of server-side applications, encompassing web servers and microservices. Static Typing The static typing feature of the Go programming language effectively detects problems during the compilation process, hence reducing potential issues that may arise during runtime. Future-Proofing The increasing popularity of Go in the computer industry underscores the importance of acquiring proficiency in this programming language to secure future professional relevance. Who can enroll in this course? Anyone who is a beginner in Programming. Seasoned programmers. Anyone who is looking to fill in any programming knowledge gaps What will you require? No knowledge of programming required Passion to learn Golang Determination to go so far and beyond A PC What you’ll learn? Fundamentals to advanced ideas Channels, concurrency, and benchmarking Testing, handling errors, and documentation Practical exercises with answers Availability of a valuable code base Introduction Welcome! Why go? Tips for success Course Overview Course Overview Documentation Additional resources Variables, values, & type Playground Hello World Overview of packages operator for quick declaration The word "var" searching style Null value The fmt file Developing original type Not casting, but conversion Your development environment the airport Bash in windows. commands in bash and shell commands in shell / bash II Putting in Go Go modules - overview Workspace go environmental factors Overview of IDEs Code Editor VS Obtaining the course code with go get IDE's Commands in Go repos on Github Github research package control Overview of Go modules design of a go module introducing reliance dependency modernization Control flow comprehension control flow init, condition, and post loops Nesting loops in a loop Statement in a loop Loop, break, and keep going loop - ascii printing If statement with conditions If, else if, conditional Conditional, modulus, and loop Switch statement that is conditional Documentation for conditional switch statements Operators for conditional logic Programming fundamentals Sort by Bol How computers function Types in numbers String kind Numbering schemes Constants Iota bit shifting Pointers What do pointers mean? Use of pointers when Method sets Concurrency Parallelism vs Concurrency WaitGroup Revisit to Method sets Documentation Race condition Mutex Atomic Error handling Comprehending Errors check Pogging and Printing Recover Info errors Writing documentation Overview Go doc Godoc Godoc.org Documentation Repetition leads to mastery The real course Data Structures - Array Overview of Data Structures Array Examples of Array Data Structures - Struct Introduction to Structs OOP in Go User-Defined Types Composition JSON Marshal JSON Unmarshal JSON Encode JSON Decode Channels Introduction to Channels Clause Range N-to-1 Part 1 of Semaphores Part 2 of Semaphores 1-to-N Arguments & Returns as Channels Channel Direction Concurrency Challenges Fan Out / Fan In - Challenge Fan Out / Fan In - Solution Fan Out / Fan In - Challenge: Factorial Fan Out / Fan In - Solution: Factorial Deadlock Challenge Deadlock Solution Incrementor Challenge Revisited Incrementor Solution Error Handling An Overview of Go's Error Handling Using Golint to Improve Your Code Error Handling and Logging to a File Four Typical Methods for Handling Errors Error Creating Values of Type in Custom Errors Handling Idiomatic Errors Giving context for mistakes Adding Additional Context with Mistakes Review of Error Handling and Resources Applied Concurrency Channels Incrementor Deadlock Challenge Factorial Challenge Pipeline Pattern Factorial Challenge Redux Factorial Challenge Redux Solution Overview of Fan Out / Fan In Pattern Fan In Pattern Example of Fan Out / Fan In Interfaces Interfaces Substitutability of Code Robert Kennedy Kernighan & Donovan Package Sort Solution to Sort Sorting backward Slice sort int Empty Interface Method Sets Assertion vs. Conversion Concurrency Concurrency & WaitGroup Parallelism Race Conditions Mutex Atomicity Review & Channels Preview Data Structures - Slice Slices Examples of Slice More Examples of Slice Slice Creation Slice Incrementing Review of the Section Data Structures - Map Introduction to Maps Examples of Maps: Part I Examples of Maps, Part II Examples of Maps, Third Map Information Map Loop Range GitHub Pull Tables Hash Word Hashing I Word-Hashing II Construct A Hash Table The completed hash algorithm Installing Go Review of the Section a terminal Insights into Installation Workspace Go Environmental Factors Configuring Path Variables in Windows Setting Up Path Variables on a Mac Important information about the following Linux videos Setup for a Linux computer Machine Configuration for Linux Configuring Path Variables in Linux Your Installation's Test Review of Section Functions Section Overview Intro To Functions Func Returns Variadic Functions Variadic Arguments Func Expressions Closure Callbacks Callback Example Recursion Defer Pass By Value Reference Types Self-Executing Anonymous Functions Bool Expressions Exercises - Part I Exercises - Part II Review of the Section Language Fundamentals Overview of the Section Packages Go Commands Variables Scope Scope II Closure Blank Identifier Constants Constants II Encouragement Word Pointers Using Pointers Remainder Review of the Section Computer Fundamentals Review of the Section Part I of How Computers Work Part II of "How Computers Work" Command for updating Github Systems of numbers Numbering system in binary hexadecimal system of numbers Encoding Text Code Generation Programs Style Printing Review of Section Testing & benchmarking Overview Test Tables Test Examples Golint Benchmark Coverage Examples of Benchmark Review Channels What are channels? Directional channels How to use channels? Range Select Comma ok idiom Fan in Fan out Context Application JSON documentation JSON marshal JSON unmarshal Writer interface Sort Sort custom bcrypt Functions Syntax variable component extending a chunk Defer Methods Polymorphism and interfaces Unknown function expression function delivering a func Callback Closure Recursion Grouping data Array Composite literal for slice Range - for slicing Slice means to cut a slice. add a slice to another Eliminating a chunk from a document cut - make Multidimensional slice of a slice Introduction to a map Add element and range to a map. Delete the map Farewell Congrats Bonus Lecture Course Duration 356 Lectures and 34 Hours of Demand HD Videos Full lifetime access Access on mobile and TV Certificate of Completion 8200+ students enrolled Complete Practical Training Download access