Saturday, May 21, 2011

Table of Contents

Section 1: Audience, Programming, Go Philosophies, Setup

Audience
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

Goroutines
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

Miscellaneous

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

52 comments:

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

    ReplyDelete
  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.

    ReplyDelete
  3. Yes thank you has become much easier))

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

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

    ReplyDelete
  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?

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

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

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

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

    ReplyDelete
  11. thanks, it's very nice.

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

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

    ReplyDelete
  14. u r great. thank u.

    ReplyDelete
  15. wow! Great Job :) Thank u man

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

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

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

    ReplyDelete
  19. can you add rpc and jsonrpc?

    ReplyDelete
  20. Hi, can you make a direct link to:
    http://golangtutorials.blogspot.com/2011/05/table-of-contents.html
    somewhere in menu on the right?

    Cheers, thanks for nice tutorial!

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

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

    ReplyDelete
  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

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

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

    ReplyDelete
  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.

    ReplyDelete
    Replies
    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: https://github.com/search?langOverride=&language=Go&q=image&repo=&start_value=1&type=Repositories

      Delete
  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 : 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.

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

    ReplyDelete
    Replies
    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 http://stackoverflow.com/questions/12484403/setting-opacity-of-image-in-golang as well. Any clue what am I missing?

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

    ReplyDelete
  29. Thanks! Very helpful tutorial

    ReplyDelete
  30. Hi Sathish,

    Thanks a lot. This is very helpful :)

    ReplyDelete
  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!

    ReplyDelete
  32. Thanks a lot! :)

    ReplyDelete
  33. 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 :))

    ReplyDelete
  34. 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

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

    ReplyDelete
  36. Fantastic! Thank you for your effort!

    ReplyDelete
  37. This comment has been removed by the author.

    ReplyDelete
  38. Good site found fruitful for education.

    ReplyDelete
  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.

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

    ReplyDelete
  41. It is amazing and wonderful to visit your site. Thank you for sharing this information.

    ReplyDelete

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.

Note: Only a member of this blog may post a comment.