AnyCompiler

Functions

Ek Go function directly ek se zyada value return kar sakta hai — unhe pehle kisi tuple ya object mein wrap kiye bina. Isko Go ki standard library mein hamesha use kiya jaata hai, sabse zyada ek result ko ek error ke saath return karne ke liye.

package main

import "fmt"

func divide(a, b int) (int, int) {
	return a / b, a % b
}

func main() {
	quotient, remainder := divide(17, 5)
	fmt.Println(quotient, remainder)
}
Output
3 2

Practice mein multiple return values

Kyunki multiple return values khud language mein built-in hain, neeche jaisa ek function minMax ek hi call mein ek slice ka sabse chhota aur sabse bada number dono return kar sakta hai, aur caller bas := se dono ko unpack kar leta hai.

package main

import "fmt"

func minMax(numbers []int) (int, int) {
	min, max := numbers[0], numbers[0]
	for _, n := range numbers {
		if n < min {
			min = n
		}
		if n > max {
			max = n
		}
	}
	return min, max
}

func main() {
	low, high := minMax([]int{4, 8, 15, 16, 23, 42})
	fmt.Println(low, high)
}
Output
4 42

Aage: control flow — if/else, aur Go ka single loop keyword.

Practice exercise

Ek function multiply(a, b int) int likho jo a * b return kare, phir multiply(6, 7) print karo.