Fungsi dalam Go

Dalam Go, fungsi ialah blok kod yang melaksanakan tugas tertentu, yang boleh digunakan semula sepanjang program untuk menjimatkan memori, meningkatkan kebolehbacaan dan menjimatkan masa. Fungsi Golang mungkin atau mungkin tidak mengembalikan nilai kepada pemanggil.

Fungsi dalam Go

Perkara yang perlu diketahui tentang fungsi di Golang

Contohnya:

package main
import "fmt"

// multiply() nhân 2 số nguyên và trả về kết quả
func multiply(a, b int) int {
    return a * b
}

func main() {
    result := multiply(5, 10)
    fmt.Printf("multiplication: %d", result)
}

Keputusan:

multiplication: 50

Sintaks fungsi dalam Golang

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Pengisytiharan fungsi

Dalam Go, fungsi diisytiharkan dengan kata kunci func, diikuti dengan nama, parameter dan jenis pulangan pilihan.

Sintaks

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Contoh fungsi darab

func multiply(a, b int) int {
    return a * b
}

func: Kata kunci untuk mengisytiharkan fungsi.
nama_fungsi: Nama fungsi, cth. membiak.
Senarai parameter: a, b int—parameter bersama dengan jenisnya.
Return_type: int menentukan jenis pulangan.

Fungsi panggilan

Untuk menggunakan fungsi, hanya panggil fungsi dengan namanya dengan sebarang hujah yang diperlukan. Di sini, darab(5, 10) memanggil fungsi dengan 5 dan 10 sebagai argumen.

Contohnya

result := multiply(5, 10)
fmt.Printf("Result of multiplication: %d", result)

Hujah fungsi

Go menyokong dua cara untuk menghantar parameter kepada fungsi: Panggilan mengikut nilai dan Panggil dengan rujukan. Secara lalai, Go menggunakan panggilan mengikut nilai, yang bermaksud nilai disalin dan perubahan dalam fungsi tidak menjejaskan pembolehubah pemanggil.

Panggilan mengikut nilai

Dalam panggilan mengikut nilai, nilai argumen disalin ke dalam parameter fungsi, jadi perubahan dalam fungsi tidak menjejaskan pembolehubah asal.

Contohnya:

package main
import "fmt"

func multiply(a, b int) int {
    a = a * 2 // chỉnh sửa bên trong hàm này
    return a * b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(x, y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Keputusan:

Before: x = 5, y = 10
multiplication: 100
After: x = 5, y = 10

Panggil dengan rujukan

Dalam panggilan melalui rujukan, penunjuk digunakan supaya perubahan di dalam fungsi dicerminkan dalam pembolehubah pemanggil.

Contohnya:

package main
import "fmt"

func multiply(a, b *int) int {
    *a = *a * 2 // chỉnh sửa giá trị của a ở địa chỉ bộ nhớ của nó
    return *a * *b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(&x, &y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Hasilnya

Before: x = 5, y = 10
multiplication: 100
After: x = 10, y = 10
Sign up and earn $1000 a day ⋙

Leave a Comment

10 aplikasi yang sangat diperlukan untuk pencinta buku

10 aplikasi yang sangat diperlukan untuk pencinta buku

Hanya kerana anda tidak mempunyai buku pada anda tidak bermakna anda perlu berhenti membaca. Apa yang anda perlukan ialah telefon anda untuk mencuba apl media sosial yang didedikasikan untuk peminat buku dan mencari buku seterusnya yang ingin anda baca.

Ketahui Tentang Spotify Connect: Ciri Spotify yang Memaksa Pengguna Berhenti dari YouTube Music

Ketahui Tentang Spotify Connect: Ciri Spotify yang Memaksa Pengguna Berhenti dari YouTube Music

Keupayaan untuk mengawal muzik dimainkan pada satu peranti daripada yang lain adalah ciri yang dipandang rendah. YouTube Music tidak mempunyai ciri ini — dan itu memaksa orang ramai beralih ke Spotify.

Cara Membuat Bola Salji Meletup di Minecraft Bedrock & Java Editon

Cara Membuat Bola Salji Meletup di Minecraft Bedrock & Java Editon

Perintah Minecraft membolehkan pemain mencipta banyak kesan menarik dan satu pilihan yang menarik ialah membuat bola salji meletup. Begini cara membuat bola salji yang meletup di Minecraft.

Adakah komputer anda mempunyai NPU? Berikut ialah cara untuk menyemak

Adakah komputer anda mempunyai NPU? Berikut ialah cara untuk menyemak

Pada Windows 11, anda boleh menyemak dengan cepat sama ada komputer anda mempunyai NPU (Unit Pemprosesan Neural), melalui 3 cara yang sangat mudah.

Adakah mod Hibernate tidak baik untuk PC?

Adakah mod Hibernate tidak baik untuk PC?

Mod hibernate dilahirkan kerana keperluan untuk memastikan komputer sentiasa aktif 24/7 tanpa mahu menghabiskan bateri atau memastikan sistem tidak terjejas oleh kegagalan kuasa, tidak seperti kes mod Tidur.

Arahan untuk menambah kalendar Euro 2024 pada iPhone

Arahan untuk menambah kalendar Euro 2024 pada iPhone

Menambah kalendar Euro 2024 pada iPhone membantu pengguna mengikuti perlawanan dengan mudah dalam rangka kerja Euro 2024, kejohanan bola sepak dengan perlawanan yang menarik.

Alibaba Memperkenalkan QwQ-32b, Pesaing Layak untuk DeepSeek

Alibaba Memperkenalkan QwQ-32b, Pesaing Layak untuk DeepSeek

Sama ada dakwaan Alibaba akan menjadi kenyataan masih belum dapat dilihat, tetapi nampaknya ChatGPT dan DeepSeek kini mempunyai pesaing baharu yang layak.

Ringkasan maklumat tentang Samsung One UI 7

Ringkasan maklumat tentang Samsung One UI 7

Telefon Samsung Galaxy yang menjalankan One UI 7.0 akan lebih selamat dengan Mod Lockdown, menghalang serangan tanpa kebenaran.

Bagaimana untuk mencipta kesan poster untuk foto dalam Photoshop

Bagaimana untuk mencipta kesan poster untuk foto dalam Photoshop

Tambahkan kesan poster yang cepat dan mudah pada imej anda menggunakan Photoshop untuk mencipta semula rupa klasik poster yang dicetak dengan warna dakwat terhad.

Bagaimana untuk bertukar antara Outlook lama dan Outlook baharu

Bagaimana untuk bertukar antara Outlook lama dan Outlook baharu

Bukan semua orang biasa dengan antara muka Outlook baharu dan mahu kembali ke Outlook lama untuk menggunakan ciri penuh dan lebih banyak penyesuaian pada Outlook. Berikut ialah arahan untuk bertukar antara Outlook lama dan Outlook baharu.

Ketahui Mengenai Peta Organik: Alternatif Sumber Terbuka kepada Peta Google

Ketahui Mengenai Peta Organik: Alternatif Sumber Terbuka kepada Peta Google

Peta Organik ialah apl pemetaan sumber terbuka percuma untuk Android dan iOS, dibangunkan oleh pasukan yang sama di belakang MapsWithMe, yang pertama kali dilancarkan pada tahun 2011.

6 langkah untuk mencuci kasut di mesin basuh tanpa bimbang tentang kerosakan

6 langkah untuk mencuci kasut di mesin basuh tanpa bimbang tentang kerosakan

Nampaknya membasuh kasut dalam mesin basuh adalah larangan mutlak, tetapi dengan hanya 6 langkah mudah di bawah, anda boleh mencuci kasut anda sepenuhnya dalam mesin basuh tanpa perlu risau tentang kerosakan.

9 sebab mengapa peti sejuk tidak membeku dan cara membaikinya

9 sebab mengapa peti sejuk tidak membeku dan cara membaikinya

Terdapat 9 sebab mengapa peti sejuk tidak membeku. Artikel kami di bawah akan meringkaskan sebab biasa dan cara menangani situasi ini.

Sudah tiba masanya untuk beralih kepada Passkey: Alternatif kata laluan anti-pancingan data!

Sudah tiba masanya untuk beralih kepada Passkey: Alternatif kata laluan anti-pancingan data!

Dengan kunci laluan, alternatif moden kepada kata laluan tradisional, anda tidak perlu risau tentang mengingati, mengurus (dengan atau tanpa pengurus kata laluan) atau menetapkan semula kata laluan anda sekali lagi.

Cara membuat sandaran penyemak imbas: Penanda halaman, sambungan, kata laluan, dsb.

Cara membuat sandaran penyemak imbas: Penanda halaman, sambungan, kata laluan, dsb.

Sama ada anda menukar penyemak imbas secara kekal atau hanya ingin mengurangkan kemungkinan kehilangan data, anda perlu membuat sandaran penyemak imbas anda secara berkala.