Saturday, May 21, 2011

Table of Contents

Section 1: Audience, Programming, Go Philosophies, Setup

Installing and configuring Go

Section 2

A step by step approach to Hello World in Go Updated for Go1
Typical early errors while programming Go
Compiling and linking with Makefile Outdated since go command.

Section 3

Memory, variables in memory, and pointers
Control structures - Go if else statement
Control structures - Go for loop, break, continue, range Updated for Go1
Control structures - Go switch case statement
Control structures - Go defer statement
Multiple return values from Go functions Updated for Go1

Section 4 - Objected Oriented Programming in Go? Or lack thereof

Structs in Go - instead of classes in Object Oriented Programming
Anonymous fields in structs - like object composition
Methods on structs
Inheritance and subclassing in Go - or its near likeness
Multiple inheritance in Go
Interfaces in Go
Interfaces in Go - Part 2: Aiding adaptable, evolutionary design
Polymorphism in Go
Summary of object oriented programming goodness in Go, without the pain

Section 5 - Goroutines, channels: parallel programming and communications

Channels in Go
Channels in Go - range and select

Section 6 - Web Programming

Web Programming with Go - first web Hello world Updated for Go1
Go Templates Updated for Go1
Go Templates - Part 2 Updated for Go1
Go Templates - Part 3 - Template Sets Updated for Go1
Using an external api in a Go web program - urlshortener from Google APIs
OAuth2: 3-legged authorization in a Go web application

Section 7 - Google AppEngine for Go

Google AppEngine for Go - Installation and Setup
Analysing a Google AppEnginge for Go program
Using an external api in a Go AppEngine program - urlshortener from Google APIs


Go packages and goinstall - creating and using your own packages in Go
gotest - unit testing and benchmarking Go programs Updated for Go1
Formatting Go code with go fmt Updated for Go1
GoLang talks and tutorials - videos New
My favorite ideas in the Go ecosystem - a usability perspective New


  1. It would be very convenient to go to the next and previous article.

  2. Thank you Миша.
    Since the articles can be read and learnt from in any order, it made more sense to have a table of contents. I hope you will still be able to use it well.

  3. Yes thank you has become much easier))

  4. Very good tutorial, how about continue it explainning some pkg like io, html, ...

  5. thank you LSK. will definitely do - had to take a break to get some other things done.

  6. Great stuff, really shows off the simplicity of the language! Is there a way to directly download these as a big package for offline use?

  7. Great tutorials, softens the cap between java and Go :). Thanks!

  8. Great Articles with great examples. Would love to read some on go reflection.

  9. Thanks Mr. Sathish, your tutorial is very insightful!

  10. Great work, the most lucid tutorials I have come across. Thank you very much.

  11. thanks, it's very nice.

  12. Just wanted to add my thanks for these articles, you've done a great job.

  13. I love these tutorials and I wish there were more. Probably the best resource for learning go I have found on the web.

  14. u r great. thank u.

  15. wow! Great Job :) Thank u man

  16. Hello,
    Do you want me to forward to your .blogspot ?

  17. Great tutorials, thank you!
    Some examples need to be updated for GO v1

  18. Thanks a lot fot these great tutorials.....Pardeep Bajwa

  19. can you add rpc and jsonrpc?

  20. Hi, can you make a direct link to:
    somewhere in menu on the right?

    Cheers, thanks for nice tutorial!

  21. good set of tuts, some code needs to be updated for Go 1

  22. Can you please update template code to Go1 .. thanks

  23. As a total newbie I am afraid I got myself totally lost by attempting to follow the section "Checking we have it setup right". After much suffering I realize that trying to get the command 8g to work misled me now that the go command is available. It would seem essential for you to update this section so that everyone can benefit from the rest of your hard work! Thanks

    1. Sorry about that, have updated that page now to reflect go1.

  24. The best Go tutorial, I found so far. Thank you so much Satish!

  25. Can you add some tutorial on image manipulation,such as image thumbnail (resizing) and stitching two images with some angle, text to image conversion etc. Unfortunately I found there is almost no tutorials in golang talking about these areas. Thanks in advance.

    1. I've not used the image package at all and it might take me a while to write about it - especially since I'm also slightly backed up on some other posts that I want to put up based on what I'm working on right now.

      But maybe you can look at some of the existing image related go projects on github for some guidance before I can get to a proper article:

  26. Hi Sathish,

    I am desperately trying to write a small program for image manipulation, but unable to make any progress. I tried whatever I have learnt so far. I am trying to do something :

    Your help will be highly appreciated, if you can show some light . This look something that may be helpful, but I have no idea how to use it.

  27. I've attempted an answer at the stackoverflow page that you seem to have posted at. Hope that helps somewhat.

    1. I have made changes in grahics-go package to rotate the image and place it a particular x, y axis value. It was hardcoded to place rotated image over the destination image.

      However I am trying to set up the opacity of the source image when I paste it on destination image. I am using DrawMask function. But It seems I have missed something. I have posted the question at as well. Any clue what am I missing?

  28. Thanks Sathish. I will take it forward :)

  29. Thanks! Very helpful tutorial

  30. Hi Sathish,

    Thanks a lot. This is very helpful :)

  31. Sathish -
    I learned more from your GoLang tutorials then several resources on Go and a book on Go combined.

    Thank you for explaining these concepts in such a clear, easy to understand concept. It is too bad others, in particular, book writers cannot explain things in such a way as you do.

    Outstanding job!

  32. This is must have tutorial. I'm reading this after got oficial "A Tour of Go" and write some silly programs and this tutorial helps me get lever higher as here is some features described i didn't see yet.
    Thanks for this tutorial and it's good written so I can understand it :))

  33. Hello! I'm trying to learn go, but all the information I've found so far was kinda confusing, but I found this site and is very useful and all the tutorials are well explained.

    Thanks a lot! :D

  34. sir can you please give a post on use and importance of go language for future

  35. Fantastic! Thank you for your effort!

  36. This comment has been removed by the author.

  37. Good site found fruitful for education.

  38. Great html tutorials tips for programming. It can help better for website developers.Thanks for this useful post.

  39. This is a very great start to Golang. I think you should put all the resources on Github so that other Go programmer can add in or make correction. Btw thanks for the awesome tutorial.

  40. I wish every one a very Happy New Year 2017.

  41. This is my first time go to see at here and i am truly happy to read all at single place.
    BEST SQL&PLSQL Online Training From Hyderabad,India

  42. That is an amazing and superb Blog post, thanks for sharing
    also visit our blog..
    April fool pranks 2017

  43. Thanks I have read your article, it is very interesting and exciting
    download go launcher, go launcher apk, go launcher , go launcher androi,

  44. You need to have time to take care of the active. It in fact was a amusement account it. Look advanced to far added agreeable from you.
    banana kong ,
    banana kong baixar ,
    baixar banana kong ,
    download banana kong ,
    banana kong

  45. Mostly people have all the same things when they are writing academic task or any other writing, especially light music most people like during the writing.
    dream league soccer download , dream league soccer apk , download dream league soccer , dream league soccer

  46. You need to have time to take care of the active. It in fact was a amusement account it. Look advanced to far added agreeable from you.

    entrar hotmail agora , hotmail entrar, entrar hotmail , entrar no hotmail

  47. Mostly people have all the same things when they are writing academic task or any other writing, especially light music most people like during the writing.
    facebook iniciar sesión , facebook, iniciar sesion , iniciar sesion facebook

  48. Mostly people have all the same things when they are writing academic task or any other writing, especially light music most people like during the writing.

    subway surf , baixar subway surf, subway surf download , download subway surf

  49. Very Nice Blog I like the way you explained these things.
    Indias Fastest Local Search Engine
    Indias Leading Local Business Directory

  50. GREEN WOMEN HOSTELGreen Women hostel is one of the leading Ladies hostel in Adyar and we serving an excellent service to Staying people, We create a home atmosphere, it is the best place for Working WomenOur hostel Surrounded around bus depot, hospital, atm, bank, medical Shop & 24 hours Security Facility

  51. A very informative detailed article Happy Baisakhi 2017 greetings and You will also like Vaisakhi best messages Don't miss to see Passover best images for family.

  52. MATLAB Training course satisfied is totally designed with MATLAB Training in Noida Basics during Advanced concept. This program enables students to explore multiple approaches and reach an elucidation with MATLAB faster than with spreadsheet or traditional programming languages.
    call now +91-7503121768

  53. I will always wait for the latest information on this blog . I am very satisfied with the content you create , very powerful and informative . thank you

    wine event singapore
    buy wine online singapore
    wine delivery singapore
    wine gifts singapore


If you think others also will find these tutorials useful, kindly "+1" it above and mention the link in your own blogs, responses, and entries on the net so that others also may reach here. Thank you.