Return

...

SU

Go Funktsiya Return Qiymatlari

Agar funktsiya qiymat qaytarishini xohlasangiz, qaytadigan qiymatning ma'lumot turini (masalan, int, string va boshqalar) belgilashingiz va funktsiya ichida return kalit so'zini ishlatishingiz kerak:

Sintaksis

func FunctionName(param1 type, param2 type) type {
  // bajariladigan kod
  return output
}

Funktsiya return Misoli

Misol

Bu yerda, myFunction() ikkita butun son (x va y) oladi va ularning qo'shilishini (x + y) butun son sifatida (int) 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 return Qiymatlari

Go'da, funktsiyaning return qiymatlarini nomlash mumkin.

Misol

Bu yerda, return qiymatini result deb nomlaymiz (int turida) va qiymatni yalang return bilan qaytaramiz (ya'ni, biz o'zgaruvchi nomini ko'rsatmasdan return bayonotidan foydalanamiz):

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 misol quyidagicha yozilishi mumkin. Bu yerda, return bayonoti 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))
}

Natija:

3

return Qiymatini O'zgaruvchida Saqlash

return qiymatini o'zgaruvchida saqlashingiz mumkin:

Misol

Bu yerda, return qiymatini total deb nomlangan 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)
}

Natija:

3

Bir Nechta return Qiymatlari

Go funktsiyalari bir nechta qiymatlarni ham qaytarishi mumkin.

Misol

Bu yerda, myFunction() bir butun son (result) va bir matn (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 return qiymatini 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 biz (biror sabab bilan) qaytarilgan qiymatlarning ba'zilaridan foydalanishni xohlamasak, unda underscore (_) qo'shib, bu qiymatni e'tibordan chetda qoldirishimiz mumkin.

Misol

Bu yerda, birinchi return qiymatini (result - a o'zgaruvchisida saqlanadi) e'tibordan chetda qoldiramiz:

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 return qiymatini (txt1 - b o'zgaruvchisida saqlanadi) e'tibordan chetda qoldiramiz:

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

Ushbu sahifada

GitHubda tahrirlash