Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memanggil fungsi golang

Bagaimana untuk memanggil fungsi golang

PHPz
PHPzasal
2024-04-21 09:21:01502semak imbas

Terdapat dua cara untuk memanggil fungsi dalam Go: lulus mengikut nilai dan lulus melalui rujukan. Melepasi nilai menghantar salinan pembolehubah ke fungsi tanpa menjejaskan nilai pembolehubah asal melalui rujukan menghantar alamat pembolehubah ke fungsi, dan sebarang pengubahsuaian akan menjejaskan nilai pembolehubah asal. Dalam pertempuran sebenar, fungsi Tambah menggunakan hantaran nilai, dan fungsi Multiply menggunakan hantaran rujukan untuk mengubah suai nilai pembolehubah dengan cara yang berbeza.

Bagaimana untuk memanggil fungsi golang

Cara memanggil fungsi Go

Dalam bahasa Go, panggilan fungsi boleh dilaksanakan dalam dua cara: lulus mengikut nilai dan lulus melalui rujukan.

Nilai berlalu

Nilai berlalu menghantar salinan pembolehubah kepada fungsi, bermakna sebarang pengubahsuaian dalam fungsi tidak akan menjejaskan nilai pembolehubah asal.

package main

import "fmt"

func add(x int) int {
    x++  // 修改 x 的副本
    return x
}

func main() {
    y := 5
    newY := add(y)  // 传递 y 的副本
    fmt.Println(newY)  // 输出 6
    fmt.Println(y)  // 输出 5
}

Rujukan lalu

Rujukan lalu menghantar alamat pembolehubah kepada fungsi, yang bermaksud bahawa sebarang pengubahsuaian kepada pembolehubah dalam fungsi akan menjejaskan nilai pembolehubah asal.

package main

import "fmt"

func add(x *int) {
    *x++  // 修改 x 指向的值
}

func main() {
    y := 5
    add(&y)  // 传递 y 的地址
    fmt.Println(y)  // 输出 6
}

Kes praktikal

Dalam kod berikut, kami mentakrifkan dua fungsi: AddMultiplyAdd 使用值传递,而 Multiply Lulus dengan rujukan.

rreeee

Atas ialah kandungan terperinci Bagaimana untuk memanggil fungsi golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn