OneCompiler

Functions

Function is a sub-routine which contains set of statements. Usually functions are written when multiple calls are required to same set of statements which increases re-usuability and modularity.

How to define a Function

func function_name(parameters) return_type{
  //code
}

In the above syntax parameters and return type are optional. Also you can return multiple values using Go Functions.

How to call a Function

function_name(parameters)

Examples

1. Go Functions with return value

package main
import "fmt"

func add() int {  
   a := 10;
   b := 20;
   sum := a + b;
   return sum  
}  
func main() {  
   val := add()  
   fmt.Println(val)  
}  

Check result here

2. Go function with arguments

package main
import "fmt"

func main() {  
   fmt.Println(sum(10,20,30));  
}  

func sum(args ... int) int {  
  value := 0  
   
  for _,x  := range args{  
    value += x  
  }  
  return value  
}  

Check Result [here] (https://onecompiler.com/go/3vpxf296m)

3. Go function with multiple return values

package main
import "fmt"

func main() {  
   fmt.Println(sumAndAverage(10,20,30))  
}  
func sumAndAverage(args ... int)(int,int)  {  
   sumValue:=0  
   avgValue:=0  
   i := 0;
   for _,value  := range args{  
      sumValue += value  
      avgValue += value 
      i += 1;
   }  
   finalAvgValue := avgValue/i;
   return sumValue,finalAvgValue  
}  

Check Result here