Pergi - Fungsi
Fungsi adalah sekelompok pernyataan yang bersama-sama melakukan tugas. Setiap program Go memiliki setidaknya satu fungsi, yaitumain(). Anda dapat membagi kode Anda menjadi beberapa fungsi terpisah. Bagaimana Anda membagi kode Anda di antara fungsi yang berbeda terserah Anda, tetapi secara logis, pembagian harus sedemikian rupa sehingga setiap fungsi melakukan tugas tertentu.
Sebuah fungsi declarationmemberi tahu kompilator tentang nama fungsi, tipe kembalian, dan parameter. Sebuah fungsidefinition menyediakan tubuh sebenarnya dari fungsi tersebut.
Pustaka standar Go menyediakan banyak fungsi bawaan yang dapat dipanggil oleh program Anda. Misalnya fungsinyalen()mengambil argumen dari berbagai tipe dan mengembalikan panjang tipe. Jika string dilewatkan, fungsi mengembalikan panjang string dalam byte. Jika sebuah larik dilewatkan, fungsi tersebut mengembalikan panjang larik.
Fungsi juga dikenal sebagai method, sub-routine, atau procedure.
Mendefinisikan Fungsi
Bentuk umum definisi fungsi dalam bahasa pemrograman Go adalah sebagai berikut -
func function_name( [parameter list] ) [return_types]
{
body of the function
}
Definisi fungsi dalam bahasa pemrograman Go terdiri dari header fungsi dan badan fungsi . Inilah semua bagian dari sebuah fungsi -
Func - Ini memulai deklarasi suatu fungsi.
Function Name- Ini adalah nama sebenarnya dari fungsinya. Nama fungsi dan daftar parameter bersama-sama membentuk tanda tangan fungsi.
Parameters- Parameter seperti placeholder. Saat suatu fungsi dipanggil, Anda meneruskan nilai ke parameter. Nilai ini disebut sebagai parameter atau argumen aktual. Daftar parameter mengacu pada jenis, urutan, dan jumlah parameter suatu fungsi. Parameter bersifat opsional; artinya, suatu fungsi mungkin tidak berisi parameter.
Return Type- Suatu fungsi dapat mengembalikan daftar nilai. Return_types adalah daftar tipe data dari nilai yang dikembalikan fungsi. Beberapa fungsi melakukan operasi yang diinginkan tanpa mengembalikan nilai. Dalam kasus ini, return_type tidak diperlukan.
Function Body - Berisi kumpulan pernyataan yang menentukan fungsi apa.
Contoh
Kode sumber berikut menunjukkan fungsi yang dipanggil max(). Fungsi ini mengambil dua parameter num1 dan num2 dan mengembalikan maksimum antara keduanya -
/* function returning the max between two numbers */
func max(num1, num2 int) int {
/* local variable declaration */
result int
if (num1 > num2) {
result = num1
} else {
result = num2
}
return result
}
Memanggil Fungsi
Saat membuat fungsi Go, Anda memberikan definisi tentang apa yang harus dilakukan fungsi tersebut. Untuk menggunakan suatu fungsi, Anda harus memanggil fungsi tersebut untuk melakukan tugas yang ditentukan.
Ketika program memanggil suatu fungsi, kontrol program dipindahkan ke fungsi yang dipanggil. Fungsi yang dipanggil melakukan tugas yang ditentukan dan ketika pernyataan kembaliannya dijalankan atau ketika penjepit penutup akhir fungsinya tercapai, ia mengembalikan kontrol program kembali ke program utama.
Untuk memanggil suatu fungsi, Anda hanya perlu meneruskan parameter yang diperlukan bersama dengan nama fungsinya. Jika fungsi mengembalikan nilai, maka Anda dapat menyimpan nilai yang dikembalikan. Misalnya -
package main
import "fmt"
func main() {
/* local variable definition */
var a int = 100
var b int = 200
var ret int
/* calling a function to get max value */
ret = max(a, b)
fmt.Printf( "Max value is : %d\n", ret )
}
/* function returning the max between two numbers */
func max(num1, num2 int) int {
/* local variable declaration */
var result int
if (num1 > num2) {
result = num1
} else {
result = num2
}
return result
}
Kami mempertahankan fungsi max () bersama dengan fungsi main () dan mengkompilasi kode sumber. Saat menjalankan eksekusi akhir, itu akan menghasilkan hasil sebagai berikut -
Max value is : 200
Mengembalikan beberapa nilai dari Fungsi
Fungsi Go dapat mengembalikan banyak nilai. Misalnya -
package main
import "fmt"
func swap(x, y string) (string, string) {
return y, x
}
func main() {
a, b := swap("Mahesh", "Kumar")
fmt.Println(a, b)
}
Ketika kode di atas dikompilasi dan dijalankan, itu menghasilkan hasil sebagai berikut -
Kumar Mahesh
Argumen Fungsi
Jika suatu fungsi akan menggunakan argumen, ia harus mendeklarasikan variabel yang menerima nilai argumen. Variabel ini disebutformal parameters dari fungsi tersebut.
Parameter formal berperilaku seperti variabel lokal lainnya di dalam fungsi dan dibuat saat masuk ke fungsi dan dimusnahkan saat keluar.
Saat memanggil suatu fungsi, ada dua cara argumen dapat diteruskan ke suatu fungsi -
Sr Tidak | Jenis & Deskripsi Panggilan |
---|---|
1 |
Panggilan berdasarkan nilai
Metode ini menyalin nilai sebenarnya dari sebuah argumen ke dalam parameter formal dari fungsi tersebut. Dalam kasus ini, perubahan yang dilakukan pada parameter di dalam fungsi tidak berpengaruh pada argumen. |
2 |
Panggil dengan referensi
Metode ini menyalin alamat argumen ke dalam parameter formal. Di dalam fungsinya, alamat digunakan untuk mengakses argumen sebenarnya yang digunakan dalam panggilan. Ini berarti bahwa perubahan yang dilakukan pada parameter mempengaruhi argumen. |
Secara default, Go menggunakan panggilan berdasarkan nilai untuk meneruskan argumen. Secara umum, ini berarti kode dalam suatu fungsi tidak dapat mengubah argumen yang digunakan untuk memanggil fungsi tersebut. Program di atas, saat memanggil fungsi max (), menggunakan metode yang sama.
Penggunaan Fungsi
Suatu fungsi dapat digunakan dengan cara berikut:
Sr Tidak | Fungsi Penggunaan & Deskripsi |
---|---|
1 |
Berfungsi sebagai Nilai
Fungsi dapat dibuat dengan cepat dan dapat digunakan sebagai nilai. |
2 |
Penutupan Fungsi
Penutupan fungsi adalah fungsi anonim dan dapat digunakan dalam pemrograman dinamis. |
3 |
metode
Metode adalah fungsi khusus dengan penerima. |