If the type is present, each variable is given that type. Otherwise, the types are deduced from the assignment of the expression list.
If the type is absent and the corresponding expression evaluates to an untyped constant, the type of the declared variable is bool, int, float64, or string respectively, depending on whether the value is a boolean, integer, floating-point, or string constant:
var b = true // t has type bool var i = 0 // i has type int var f = 3.0 // f has type float64
A short variable declaration uses the syntax:
ShortVarDecl = IdentifierList ":=" ExpressionList .
It is a shorthand for a regular variable declaration with initializer expressions but no types:
"var" IdentifierList = ExpressionList .
http://groups.google.com/group/golang-nuts/browse_thread/thread/25d8068784971c15/cd41a810152b3d23
http://groups.google.com/group/golang-nuts/browse_thread/thread/d7545b8325c43e15/a689185d647f54e5
Also complex128, it seems missed from the manual.var aa = 1+2ifmt.Printf("%T : %v\n", aa,aa)
Then, it is better to use directly float64 instead of float32, isn't
it? Iin our programs that handle float numbers.