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

Perbezaan antara TV biasa dan TV Pintar

Perbezaan antara TV biasa dan TV Pintar

TV pintar benar-benar telah melanda dunia. Dengan begitu banyak ciri hebat dan sambungan internet, teknologi telah mengubah cara kita menonton TV.

Mengapa peti sejuk tidak mempunyai lampu tetapi peti sejuk ada?

Mengapa peti sejuk tidak mempunyai lampu tetapi peti sejuk ada?

Peti sejuk adalah peralatan biasa dalam isi rumah. Peti ais biasanya mempunyai 2 kompartmen iaitu ruang sejuk yang luas dan mempunyai lampu yang menyala secara automatik setiap kali pengguna membukanya, manakala ruang peti sejuk beku pula sempit dan tiada cahaya.

2 Cara untuk Membetulkan Kesesakan Rangkaian Yang Melambatkan Wi-Fi

2 Cara untuk Membetulkan Kesesakan Rangkaian Yang Melambatkan Wi-Fi

Rangkaian Wi-Fi dipengaruhi oleh banyak faktor di luar penghala, lebar jalur dan gangguan, tetapi terdapat beberapa cara pintar untuk meningkatkan rangkaian anda.

Cara Menurunkan Taraf daripada iOS 17 kepada iOS 16 tanpa Kehilangan Data menggunakan Tenorshare Reiboot

Cara Menurunkan Taraf daripada iOS 17 kepada iOS 16 tanpa Kehilangan Data menggunakan Tenorshare Reiboot

Jika anda ingin kembali kepada iOS 16 yang stabil pada telefon anda, berikut ialah panduan asas untuk menyahpasang iOS 17 dan menurunkan taraf daripada iOS 17 kepada 16.

Apa yang berlaku kepada badan apabila anda makan yogurt setiap hari?

Apa yang berlaku kepada badan apabila anda makan yogurt setiap hari?

Yogurt adalah makanan yang indah. Adakah baik untuk makan yogurt setiap hari? Apabila anda makan yogurt setiap hari, bagaimana badan anda akan berubah? Mari kita ketahui bersama!

Apakah jenis beras yang terbaik untuk kesihatan?

Apakah jenis beras yang terbaik untuk kesihatan?

Artikel ini membincangkan jenis beras yang paling berkhasiat dan cara memaksimumkan manfaat kesihatan bagi mana-mana beras yang anda pilih.

Bagaimana untuk bangun tepat pada waktunya pada waktu pagi

Bagaimana untuk bangun tepat pada waktunya pada waktu pagi

Menetapkan jadual tidur dan rutin waktu tidur, menukar jam penggera anda dan melaraskan diet anda ialah beberapa langkah yang boleh membantu anda tidur dengan lebih lena dan bangun tepat pada waktunya pada waktu pagi.

Petua untuk bermain Rent Please! Tuan Tanah Sim untuk Pemula

Petua untuk bermain Rent Please! Tuan Tanah Sim untuk Pemula

Tolong Sewa! Landlord Sim ialah permainan mudah alih simulasi pada iOS dan Android. Anda akan bermain sebagai tuan tanah kompleks pangsapuri dan mula menyewa sebuah apartmen dengan matlamat untuk menaik taraf bahagian dalam pangsapuri anda dan menyediakannya untuk penyewa.

Kod Pertahanan Menara Bilik Mandi Terkini dan Cara Memasukkan Kod

Kod Pertahanan Menara Bilik Mandi Terkini dan Cara Memasukkan Kod

Dapatkan kod permainan Bathroom Tower Defense Roblox dan tebus untuk ganjaran yang menarik. Mereka akan membantu anda menaik taraf atau membuka kunci menara dengan kerosakan yang lebih tinggi.

Struktur, simbol dan prinsip operasi transformer

Struktur, simbol dan prinsip operasi transformer

Mari belajar tentang struktur, simbol dan prinsip operasi transformer dengan cara yang paling tepat.

4 Cara AI Menjadikan TV Pintar Lebih Baik

4 Cara AI Menjadikan TV Pintar Lebih Baik

Daripada kualiti gambar dan bunyi yang lebih baik kepada kawalan suara dan banyak lagi, ciri dikuasakan AI ini menjadikan TV pintar lebih baik!

Mengapa ChatGPT lebih baik daripada DeepSeek

Mengapa ChatGPT lebih baik daripada DeepSeek

Pada mulanya, orang ramai menaruh harapan yang tinggi untuk DeepSeek. Sebagai chatbot AI yang dipasarkan sebagai pesaing kuat kepada ChatGPT, ia menjanjikan keupayaan dan pengalaman sembang pintar.

Temui Fireflies.ai: Setiausaha AI Percuma Yang Menjimatkan Masa Kerja Anda

Temui Fireflies.ai: Setiausaha AI Percuma Yang Menjimatkan Masa Kerja Anda

Sangat mudah untuk terlepas butiran penting semasa mencatat perkara penting lain, dan cuba mencatat nota semasa bersembang boleh mengganggu. Fireflies.ai adalah penyelesaiannya.

Bagaimana untuk membesarkan Axolotl Minecraft, menjinakkan Minecraft Salamander

Bagaimana untuk membesarkan Axolotl Minecraft, menjinakkan Minecraft Salamander

Axolot Minecraft akan menjadi pembantu yang hebat untuk pemain semasa beroperasi di bawah air jika mereka tahu cara menggunakannya.

Tempat yang Tenang: Konfigurasi Permainan PC Jalan Hadapan

Tempat yang Tenang: Konfigurasi Permainan PC Jalan Hadapan

Tempat yang Tenang: Konfigurasi The Road Ahead dinilai agak tinggi, jadi anda perlu mempertimbangkan konfigurasi sebelum membuat keputusan untuk memuat turun.