compile go