Section 1: Audience, Programming, Go Philosophies, Setup
AudienceInstalling and configuring Go
Section 2
A step by step approach to Hello World in Go Updated for Go1Typical early errors while programming Go
Section 3
Memory, variables in memory, and pointersControl 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 ProgrammingAnonymous 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
GoroutinesChannels in Go
Channels in Go - range and select
Section 6 - Web Programming
Web Programming with Go - first web Hello world Updated for Go1Go 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 SetupAnalysing a Google AppEnginge for Go program
Using an external api in a Go AppEngine program - urlshortener from Google APIs
Miscellaneous
Go packages and goinstall - creating and using your own packages in Gogotest - 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
It would be very convenient to go to the next and previous article.
ReplyDeleteThank you Миша.
ReplyDeleteSince 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.
Yes thank you has become much easier))
ReplyDeleteVery good tutorial, how about continue it explainning some pkg like io, html, ...
ReplyDeletethank you LSK. will definitely do - had to take a break to get some other things done.
ReplyDeleteGreat stuff, really shows off the simplicity of the language! Is there a way to directly download these as a big package for offline use?
ReplyDeleteGreat tutorials, softens the cap between java and Go :). Thanks!
ReplyDeleteGreat Articles with great examples. Would love to read some on go reflection.
ReplyDeletethanks, its great.
ReplyDeleteThanks Mr. Sathish, your tutorial is very insightful!
ReplyDeleteGreat work, the most lucid tutorials I have come across. Thank you very much.
ReplyDeletethanks, it's very nice.
ReplyDeleteJust wanted to add my thanks for these articles, you've done a great job.
ReplyDeleteI love these tutorials and I wish there were more. Probably the best resource for learning go I have found on the web.
ReplyDeleteu r great. thank u.
ReplyDeletewow! Great Job :) Thank u man
ReplyDeleteHello,
ReplyDeleteDo you want me to forward golangtutorials.com to your .blogspot ?
Great tutorials, thank you!
ReplyDeleteSome examples need to be updated for GO v1
Thanks a lot fot these great tutorials.....Pardeep Bajwa
ReplyDeletecan you add rpc and jsonrpc?
ReplyDeleteHi, can you make a direct link to:
ReplyDeletehttp://golangtutorials.blogspot.com/2011/05/table-of-contents.html
somewhere in menu on the right?
Cheers, thanks for nice tutorial!
good set of tuts, some code needs to be updated for Go 1
ReplyDeleteCan you please update template code to Go1 .. thanks
ReplyDeleteYour site is very good.
ReplyDeleteAs 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
ReplyDeleteSorry about that, have updated that page now to reflect go1.
DeleteThe best Go tutorial, I found so far. Thank you so much Satish!
ReplyDeleteCan 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.
ReplyDeleteI'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.
DeleteBut 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: https://github.com/search?langOverride=&language=Go&q=image&repo=&start_value=1&type=Repositories
Hi Sathish,
ReplyDeleteI 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 : https://gist.github.com/3725604
Your help will be highly appreciated, if you can show some light . This look http://golang.org/doc/articles/image_draw.html something that may be helpful, but I have no idea how to use it.
I've attempted an answer at the stackoverflow page that you seem to have posted at. Hope that helps somewhat.
ReplyDeleteI 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.
DeleteHowever 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 http://stackoverflow.com/questions/12484403/setting-opacity-of-image-in-golang as well. Any clue what am I missing?
Got it work :)
DeleteThanks Sathish. I will take it forward :)
ReplyDeleteThanks! Very helpful tutorial
ReplyDeleteHi Sathish,
ReplyDeleteThanks a lot. This is very helpful :)
Sathish -
ReplyDeleteI 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!
Nice post. Thank you for sharing.
ReplyDeleteWeb Applications
Thanks a lot! :)
ReplyDeleteThis 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.
ReplyDeleteThanks for this tutorial and it's good written so I can understand it :))
good work
ReplyDeleteHello! 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.
ReplyDeleteThanks a lot! :D
sir can you please give a post on use and importance of go language for future
ReplyDeleteFantastic! Thank you for your effort!
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteGood site found fruitful for education.
ReplyDeleteThis 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.
ReplyDeleteThank you for the information.
ReplyDeleteI wish every one a very Happy New Year 2017.
ReplyDeleteThanks for sharing this valuable information.
ReplyDeletelenovo thinkpad service center chennai
lenovo laptop service center in chennai
lenovo ideapad service center chennai
ece projects in chennai
ReplyDeleteembedded projects chennai
matlab projects chennai
embedded training in chennai
matlab training in chennai
It is amazing and wonderful to visit your site. Thank you for sharing this information.
ReplyDelete