diff --git a/2moretypes/pointer.go b/2moretypes/pointer.go new file mode 100644 index 0000000..54f87e5 --- /dev/null +++ b/2moretypes/pointer.go @@ -0,0 +1,25 @@ +package main + +import ( + "fmt" +) + +func main() { + fmt.Println("pointers stores memory address of a value") + fmt.Println("zero value of pointers are nil") + fmt.Println("The & operand return memory of a value") + i := 42 + p := &i + + fmt.Printf("%T, %v \n", *p, *p) + fmt.Printf("%T, %v \n\n", p, p) + fmt.Print(p) + fmt.Printf("\n") + fmt.Print(*p) + fmt.Printf("\n") + + *p = 21 + fmt.Println(i) + + fmt.Println("Unlike C, Go has no pointer arithmetic !!!") +}