For testing I am using the developer's console and entering an entity of kind Account into the datastore.
type Account struct {
Balance float64
Userid int}
If I input a Balance amount of 10 I get the following when using my Go app to "Get" the entity.
Balance:0 Userid:1
However, if I change Balance to 10.1 then I get the expected result
Balance:10.1 Userid:1
This is somewhat expected. However, if I store a float without anything after the decimal it is turned into type INT. In this scenario if I have a balance without a decimal like 1.00 it won't load into my struct. (It will drop the two 00's)
It appears this is specific to using the Developer's Console. The only option under the Developer's Console for a number is "is a number" which automatically saves it with it'd predicted type.
If you save the entity using Put in your Go app, it will store it as type float64 and also pull it out as a float64.