go data type learning