Funksiyadan qiymat qaytarish
Qaytariladigan qiymatlar
Agar funksiya qiymat qaytarishini istasangiz, qaytariladigan qiymatning ma’lumot tipini (masalan, int, string va h.k.) belgilashingiz va funksiya ichida return kalit so‘zidan foydalanishingiz kerak:
Sintaksis
func FunctionName(param1 type, param2 type) type {
// code to be executed
return output
}
Qiymat qaytaruvchi funksiyaga misol
Misol
Bu yerda myFunction() ikkita butun sonni (x va y) qabul qiladi va ularning yig‘indisini (x + y) butun son (int) sifatida qaytaradi:
package main
import "fmt"
func myFunction(x int, y int) int {
return x + y
}
func main() {
fmt.Println(myFunction(1, 2))
}
Natija:
3
Nomlangan qaytariladigan qiymatlar
Go tilida funksiyaning qaytariladigan qiymatlariga nom berish mumkin.
Misol
Bu yerda qaytariladigan qiymatni result deb nomlaymiz (int tipida) va qiymatni "yalang‘och" return (naked return) orqali qaytaramiz (ya’ni return operatorini o‘zgaruvchi nomini ko‘rsatmasdan ishlatamiz):
package main
import "fmt"
func myFunction(x int, y int) (result int) {
result = x + y
return
}
func main() {
fmt.Println(myFunction(1, 2))
}
Natija:
3
Yuqoridagi misolni quyidagicha ham yozish mumkin. Bu yerda return operatori o‘zgaruvchi nomini ko‘rsatadi:
Misol
package main
import "fmt"
func myFunction(x int, y int) (result int) {
result = x + y
return result
}
func main() {
fmt.Println(myFunction(1, 2))
}
Qaytariladigan qiymatni o‘zgaruvchida saqlash
Qaytariladigan qiymatni quyidagicha o‘zgaruvchida saqlashingiz ham mumkin:
Misol
Bu yerda qaytariladigan qiymatni
total nomli o‘zgaruvchida saqlaymiz:
package main
import "fmt"
func myFunction(x int, y int) (result int) {
result = x + y
return
}
func main() {
total := myFunction(1, 2)
fmt.Println(total)
}
O‘zingiz sinab ko‘ring »
Bir nechta qaytariladigan qiymat
Go funksiyalari bir nechta qiymat ham qaytarishi mumkin.
Misol
Bu yerda myFunction() bitta butun son (result) va bitta string (txt1) qaytaradi:
package main
import "fmt"
func myFunction(x int, y string) (result int, txt1 string) {
result = x + x
txt1 = y + " World!"
return
}
func main() {
fmt.Println(myFunction(5, "Hello"))
}
Natija:
10 Hello World!
Misol
Bu yerda ikkita qaytariladigan qiymatni ikkita o‘zgaruvchida (a va b) saqlaymiz:
package main
import "fmt"
func myFunction(x int, y string) (result int, txt1 string) {
result = x + x
txt1 = y + " World!"
return
}
func main() {
a, b := myFunction(5, "Hello")
fmt.Println(a, b)
}
Natija:
10 Hello World!
Agar (biror sababga ko‘ra) qaytarilgan qiymatlarning ba’zilaridan foydalanishni istamasak, bu qiymatni tashlab ketish uchun pastki chiziq (_) qo‘yishimiz mumkin.
Misol
Bu yerda birinchi qaytarilgan qiymatni (result — u a o‘zgaruvchisida saqlanadi) tashlab ketmoqchimiz:
package main
import "fmt"
func myFunction(x int, y string) (result int, txt1 string) {
result = x + x
txt1 = y + " World!"
return
}
func main() {
_, b := myFunction(5, "Hello")
fmt.Println(b)
}
Natija:
Hello World!
Misol
Bu yerda ikkinchi qaytarilgan qiymatni (txt1 — u b o‘zgaruvchisida saqlanadi) tashlab ketmoqchimiz:
package main
import "fmt"
func myFunction(x int, y string) (result int, txt1 string) {
result = x + x
txt1 = y + " World!"
return
}
func main() {
a, _ := myFunction(5, "Hello")
fmt.Println(a)
}
Natija:
10
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
