Quieres modificar una variable global por medio de una función definida en un paquete.
Según pienso debes cambiar el enfoque, tu código no dice mucho acerca de la necesidad de hacer algo como eso,
tal vez está mal planteada la solución, independiente del contexto y sobre todo cuando hay concurrencia, siempre
se debe evitar la mutabilidad en variables globales.
Ahora si la lógica del programa es sincrona y es realmente necesario usar un flag para manejar y hacer el seguimiento de ciertos estados,
lo que realmente debes hacer es modificar la variable por valor, es decir:
func main() {
JumpFirst = Control.Done() //devuelve true/false dependiendo de alguna tarea que realiza el paquete
}
Supongo que la funcion ChangeFlag() realiza cierta tarea y devuelve un estado true/false a la variable global, de otro modo no veo la necesidad de
cambiar el estado de una variable global solo por el gusto de hacerlo. El paquete tiene que hacer algo, ejecutar alguna tarea, controlar algo...
o estas solo experimentando?
Saludos.
Christian