As I’ve been playing with Go, I see the incredible productivity benefits it gives me. So many times it has caught errors that would have been left were I writing in Ruby or JavaScript. I would have written tests to catch these, when I got around to it…

But, there are still things about Go that I wish it did. I love the idea of Clojure and immuatable data because then this would not happen.

I was refactoring some code, and pasted in the following snippet. Without the first

1
fmt.Println(...)
call, Go does catch the fact that I am declaring a new variable inside the if scope, but if I add this
1
fmt.Println(...)
call, then it does not know that I really wanted to assign a new value to the existing variable, and not create a new one. I really wanted to write
1
delimiter = ','
instead of
1
2
delimiter :=
','
but Go did not know that.

Oh well. Go seems so powerful in almost every other way.