Sin prámetros

import "fmt"

func normalFunction(){
	fmt.Println("Hola mundo")
}

func main(){
	normalFunction()
}
Hola mundo

Con un parámetro

import "fmt"

func normalFunction(message string){
	fmt.Println(message)
}

func main(){
	normalFunction("Hola mundo")
}
Hola mundo

Con varios parámtros

package main

import "fmt"

func tripeArgument(a int, b int, c string){
	fmt.Println(a, b, c)
}

func main(){
	tripeArgument(1, 2, "holi")
}
1 2 holi

Con retorno

package main

import "fmt"

func returnValue(a int) int {
	return a * 2
}

func main(){
	value := returnValue(2)
	fmt.Println(value)
}
4

Con doble retorno

package main

import "fmt"

func doubleReturn(a int) (c, d int){
	return a, a * 2
}

func main(){
	value1, value2 := doubleReturn(2)
	fmt.Println(value1, value2)
}
2 4

Si solo nos interesa un valor de los dos:

package main

import "fmt"

func doubleReturn(a int) (c, d int){
	return a, a * 2
}

func main(){
	value1, _ := doubleReturn(2)
	fmt.Println(value1)
}
2