Transcript for:
Go Programming Language Overview

go a statically typed compiled language often described as c for the 21st century it's a popular choice for high-performance server-side applications and is the language that built tools like docker cockroachdb and d-graph it was created at google in 2007 by legends who really know their stuff like ken thompson the inventor of the b and c programming languages version 1.0 was released as open source software in 2012. it was designed for simplicity and efficiency and that's why we call it go and not go lang the source code is compiled down to machine code which means it generally outperforms interpreted languages but it's famous for its extremely fast compile times made possible by innovations to dependency analysis and even though it's a statically typed language it performs type inference to deliver a syntax that is very concise and practical it also has a package and module system making it easy to import and export code between projects to get started install go and then open an empty directory on your system create a file ending in go then add package main at the top to create a standalone executable then declare a main function which is where your program will start executing go has a standard library of core packages to handle common requirements like math networking or formatted io by importing fmt we can print a line to the standard output then run the go build command and it quickly compiles the source code and dependencies into an executable binary when it comes to dependencies we can also link to remote packages on github run go mod init from the command line and that creates a go module file that enables dependency tracking syntactically go is like a concise version of c or c plus plus declare a variable with the var keyword followed by its name and type and initialize it with a value or you might use the short assignment syntax to replace var and let go automatically infer the type and you can define multiple variables from a single line go has all the other features you would expect in a programming language like arrays maps loops and control flow but also allows you to store the memory address of a value using pointers while disallowing pointer arithmetic which often leads to dangerous and unpredictable behavior in addition it supports concurrency with go routines which are functions that can run at the same time as other functions by utilizing multiple threads on a cpu this has been go in 100 seconds hit the like button if you want to see more short videos like this and check out the full article to write your first 100 lines of go on fireship io thanks for watching and i will see you in the next one