do source.go double assignment