package main

import (
	"fmt"
)

func createPointer() *float64 {
	var myFloat = 98.5
	return &myFloat
}

func double(number *int) {
	*number *= 2
}

func negate(myBoolean *bool) {
	*myBoolean = !*myBoolean
}

func main() {
	truth := true
	negate(&truth)
	fmt.Println(truth)
	lies := false
	negate(&lies)
	fmt.Println(lies)
	/*
		var myFloatPointer *float64 = createPointer()
		fmt.Println(*myFloatPointer)
		var foo int = 2
		double(&foo)
		fmt.Println(foo)
	*/
	/*
		var myInt int
		fmt.Println(reflect.TypeOf(&myInt))
		var myFloat float64
		fmt.Println(reflect.TypeOf(&myFloat))
		var myBool bool
		fmt.Println(reflect.TypeOf(&myBool))
	*/
	/*
		myInt := 42
		var myIntPointer *int
		myIntPointer = &myInt
		fmt.Println(*myIntPointer)
	*/

}
