Pointers in Golang are very similar to pointers in c/c .
[code lang=golang]
// declear a pointer
var pointerName *dataType
//get a pointer's value
*pointerName
//get a variable's physical address
&variableName
[/code]
Sample
root@go:l8/ # cat l8s1.go
package main
import (
"fmt"
)
func swap(val1 *int, val2 *int){
*val1, *val2 = *val2, *val1
}
func main(){
var var1, var2 int
var1 = 3
var2 = 6
fmt.Println(var1, var2)
swap(&var1, &var2)
fmt.Println(var1, var2)
}
root@go:l8/ # go run l8s1.go
3 6
6 3