Monday, December 3, 2018

FUNCTIONS GOLANG

FUNCTIONS GOLANG

FUNCTIONS GOLANG

Functions atau fungsi adalah bagian independen dari kode yang memetakan nol atau lebih parameter input ke nol atau lebih banyak parameter output. 

Fungsi (juga dikenal sebagai prosedur atau subrutin) sering digambarkan sebagai kotak hitam: (kotak hitam mewakili fungsi)

Sampai materi ini program yang kita tulis di Go hanya menggunakan satu fungsi:

func main () {}

Kita sekarang akan mulai menulis program yang menggunakan lebih dari satu fungsi.

Fungsi Kedua 

Ingat program ini dari materi sebelumnya :
KALIAN BISA MENCOBANYA KLIK DISINI

func main() {
xs := []float64{98,93,77,82,83} 

total := 0.0 
for _, v := range xs {
 total += v }
 fmt.Println(total / float64(len(xs))) 
}

functions golang
hasil coding

Program ini menghitung rata-rata dari serangkaian angka. Menemukan rata-rata seperti ini adalah masalah yang sangat umum, jadi akan ideal untuk definisi sebagai fungsi.

Fungsi rata-rata perlu mengambil sepotong float64 dan mengembalikan satu float64.

Masukkan coding berikut ini sebelum fungsi utama:

func rata-rata(xs []float64) float64 { 
 panic("Not Implemented") }

Fungsi dimulai dengan fungsi kata kunci, diikuti oleh nama fungsi. Parameter (input) dari fungsi didefinisikan seperti ini : namatype, namatype , ….

Fungsi kita memiliki satu parameter (daftar skor) yang kita beri nama xs. Setelah parameter, kita masukkan jenis kembalinya. Secara kolektif parameter dan jenis kembalinya dikenal sebagai tanda tangan fungsi.

Akhirnya kita memiliki tubuh fungsi yang merupakan serangkaian pernyataan antara kurung kurawal "{}".

Dalam tubuh ini kita memanggil fungsi bawaan yang disebut panik yang menyebabkan kesalahan waktu proses. (Kita akan melihat lebih banyak lagi tentang kepanikan nanti di materi selanjutnya).

Menulis fungsi bisa jadi sulit, jadi adalah ide yang baik untuk memecah proses menjadi bagian yang dapat dikelola, daripada mencoba untuk mengimplementasikan semuanya dalam satu langkah besar.

Sekarang mari kita ambil kode dari fungsi utama kita dan pindahkan ke fungsi rata-rata kita:

func avarage(xs []float64) float64 {
 total := 0.0
 for _, v := range xs { 
 total += v }
 return total / float64(len(xs)) }

Perhatikan bahwa kita mengubah fmt.Println menjadi return. Pernyataan return menyebabkan fungsi untuk segera berhenti dan mengembalikan nilai setelah itu ke fungsi yang disebut seperti ini.

Ubah func main agar terlihat seperti ini:

func main () {
xs: = [] float64 {98,93,77,82,83}
fmt.Println (avarage (xs))}

functions golang
hasil coding

Menjalankan program ini seharusnya memberikan kamu hasil yang sama persis dengan yang asli.

Beberapa hal yang perlu diingat:

#Nama-nama parameter tidak harus cocok dalam fungsi panggilan. Misalnya contoh coding ini:
func main () {someOtherName: = [] float64 {98,93,77,82,83} fmt.Println (avarage (someOtherName))}
Dan program kita akan tetap berfungsi.

#Fungsi tidak memiliki akses ke apa pun dalam fungsi panggilan. Contoh coding ini tidak akan berfungsi:
func f () {fmt.Println (x)} func main () {x: = 5 f ()}

Kita seharusnya melakukan ini:
func f (x int) {fmt.Println (x)} func main () {x: = 5 f (x)}

Atau ini:
var x int = 5 func f () {fmt.Println (x)} func main () {f ()}


#Fungsi dibangun dalam "tumpukan". Misalkan kita menulis coding seperti ini:
func main () {fmt.Println (f1 ())} func f1 () int {return f2 ()} func f2 () int {return 1}

Setiap kali kita memanggil fungsi, kita mendorongnya ke tumpukan panggilan dan setiap kali kita kembali dari fungsi, kita memunculkan fungsi terakhir dari tumpukan.

#Kita juga dapat memberi nama jenis pengembalian:
func f2 () (r int) {r = 1 return}



Seseorang yang ingin membagi pengalaman dan ilmu yang berguna untuk para pembaca FajarYusuf.Com :)

Cobalah untuk memilih Pelajaran Pemrograman dan belajar dari Materi Pertama
EmoticonEmoticon


TENTANG SITUS

SITUS INI ADALAH SITUS PEMBELAJARAN PEMROGRAMAN DAN JUGA PEMAHAMAN TERHADAP TEKNOLOGI KOMPUTER. KALIAN BISA MENGIKUTI PEMBELAJARAN PEMROGRAMAN DENGAN BERTAHAP PADA MATERI YANG SUDAH SAYA SEDIAKAN, JIKA ADA MATERI YANG MEMBINGUNGKAN SILAKAN LAKUKAN KOMENTAR PADA MATERI YANG ANDA TANYAKAN ATAU KALIAN BISA MENGHUBUNGI SAYA DIHALAMAN KONTAK.

https://smallseotools.com/