Belajar Bahasa Pemrograman Dart : Anonymous Functions

Dhe997

Masih ingatkah Anda dengan materi function dan cara membuatnya? Seperti yang kita tahu, untuk mendeklarasikan sebuah fungsi kita perlu mendefinisikan nilai kembalian dan juga nama fungsinya.



  1. int sum(int num1, int num2) {

  2.   return num1 + num2;

  3. }



Kebanyakan fungsi pada Dart memiliki nama seperti sum()main(), atau print()
Pada Dart kita bisa membuat fungsi yang tidak bernama alias nameless atau anonymousAnonymous function ini juga dikenal dengan nama lambda.
Untuk membuat lambda atau anonymous function kita cukup menuliskan tanda kurung untuk menerima parameter dan body function-nya.


  1. void main() {

  2.   (int num1, int num2) {

  3.     return num1 + num2;

  4.   };

  5. }



Lalu bagaimana kita bisa menggunakan fungsi tersebut? Seperti yang telah dijelaskan sebelumnya bahwa function adalah first-class citizen, maka fungsi juga merupakan sebuah objek yang bisa disimpan ke dalam variabel. 
Kita bisa menggunakan keyword var atau secara eksplisit menggunakan tipe data Function.


  1. void main() {

  2.   var sum = (int num1, int num2) {

  3.     return num1 + num2;

  4.   };

  5.  

  6.   Function printLambda = () {

  7.     print('This is lambda function');

  8.   };

  9. }



Untuk memanggilnya kita bisa langsung memanggil nama variabelnya seperti berikut:


  1. printLambda();

  2. print(sum(3, 4));



Selain itu lambda juga mendukung function expression untuk membuat kode fungsi menjadi lebih ringkas dengan memanfaatkan fat arrow (=>).


  1. var sum = (int num1, int num2) => num1 + num2;

  2. Function printLambda = () => print('This is lambda function');


Posting Komentar

Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.