Golang tutorial: Get started with the Go language


Go is an open source programming language from Google that makes it easy to build simple, reliable, and efficient software. It’s part of the programming language lineage that started with Tony Hoare’s Communicating Sequential Processes and includes Occam, Erlang, Newsqueak, and Limbo. The Go language project currently has more than 1,800 contributors and is led by Rob Pike, a distinguished engineer at Google.

Go was originally developed as an alternative to C++. Essentially, Pike got tired of long C++ compilations of a core Google program. As it turned out, though, very few Go language converts came over from C++. When asked what surprised him most after rolling out Go in 2012, Pike responded, “Although we expected C++ programmers to see Go as an alternative, instead most Go programmers come from languages like Python and Ruby.”

At the time, almost everyone coming from C++ or Java wanted Go to have classes and generics. Pike and others pushed back, but in 2022, things changed. As of Go 1.18, generics are finally part of the Go language.

This article demonstrates some of the differentiating features of Go, including extremely lightweight concurrency patterns and the new generic types.


a.signin, .signin-register > a.register”).click(function(){ $(“.signin-register > a.signin, .signin-register > a.register”).removeClass(“selected”); $(this).addClass(“selected”); return false; }); }); if(typeof(IDG.insiderReg.readCookie(‘nsdr’)) == ‘undefined’ && $thm.deviceWidthAtLeast($thm.deviceBreakpoints.tablet)){ $triggered_times = 0; $(window).on(‘scroll’, function() { if($(‘.signin-register > a’).hasClass(‘selected’)) { $triggered_times = 1; } var y_scroll_pos = window.pageYOffset; var emptyDiv = $(‘.empty-div’).offset().top; var scroll_pos_test = emptyDiv – 600; if(y_scroll_pos > scroll_pos_test && $triggered_times == 0 ) { $triggered_times = 1; // to make sure the above action triggers only once IDG.insiderReg.registerLinkEvent(‘insider-reg-form-short’); $(‘body’).append(“]]>


Leave a Reply

Your email address will not be published. Required fields are marked *