Function ni nini?
Function ni kifungu cha code (block of code) ambacho hufanya kazi maalumu. Function inaweza kufanya kazi kwa kujirudia rudia bila ya kikomo kila itakapoitwa. Function husaidia kutokurudiarudia kuandika code.
Mambo ya kuzingatia:
- Function hutumika zaidi ya mara moja
- Function haifanyikazi mpaka iitwe
- Function inakuwa na parameter
Jinsi ya kuandika function
- Function ambayo haihitaji ku return value
Returntype name (){
Code
}
Hapo utaona kwanz aunaanza return type hii itafahamisha kuwa function yako ita rudisha data amba laa. Kama haitarudisha data tutaweka void. Baada ya return type inayofuata na name yaani jina la hiyo function, kisha utaweka mabano () ndani ya haya mabano tutakuja kuweka parameter. Kisha utaweka mabano {} ndani ya haya mabano ndipo utaweka code ambazo unataka zifanye kazi. Wacha tuone mifano huwenda ukaelewa zaidi:-
Mfano 1:
Tunatengeneza program ya kuandika neno bongoclass mara 10. Kwanza tuatatengeneza hiyo fnction ambayo ita print nrno bongoclass
void bongo(){
print('Bongoclass');
}
Kisha tutaiita (call) hiyo funcyion kwenye main().
bongo(){
print('Bongoclass');
}
void main(){
bongo(;
}
Sasa kama tutaiita mara 10 itaprint hilo neno mara 10
void bongo(){
print('Bongoclass');
}
void main(){
for(int x = 0; x<10; x++){
bongo();
}
}
Jinsi ya kuweka parameter kwenye function
Tuchukulie mfano kama huu wa mwanzo. Tunataka mtumiaji aweze kuandika kwenye we anataka neno bongoclass litokee mara ngapi. Kwa mfano akitaka litokee mara 6 ataandika 6 kwenye user input kisha function yetu itafanya kazi husika.
Sasa katika hali hiyo tutahitaji kuweka variable ambayo itawakilisha hiyo 6 atakayowekamtu. Hiyo variable ndio parameter kwa mfano tutaiita idadi. Na hiyo namba 6 atakayoinginza mtu huitwa argument. Kwa ufup tunasema parameter ni jina ila argument ni value yenyewe.
Parameter zinaweza kuwa option, default ama required. Tutakwenda kuziona kadiri somo linavyoenda.wacha tuone mfano ambao mtumiaji ataweka argument na program kutoa majibu
import 'dart:io';
void bongo(idadi){
for(int x = 0; x<idadi; x++){
print('Bongoclass');
}
}
void main(){
print('ANDIKA IDADI');
int idadi = int.parse(stdin.readLineSync()!);
bongo(idadi);
}
Kuna kitu hapa tunataka kujifunza kwanza. Ukiangalia hapo utaona variable tumeitengenezea nje ya function.int idadi = int.parse(stdin.readLineSync()!);
Sasa kama utaiweka kwenye function utaona kuna error
import 'dart:io';
void bongo(idadi){
int idadi = int.parse(stdin.readLineSync()!);
for(int x = 0; x<idadi; x++){
print('Bongoclass');
}
}
void main(){
print('ANDIKA IDADI');
bongo(idadi);
}
Sasa ili kutatua tatizo itatibidi mixin hii ni njia ambayo hutumika kufanya class iweze kufanya kazi zaidi na zaidi. Lakini hapa tunakwenda kufanya variable yetu iewe kupatikana kwenye ukurasa wote. Hivyo utaandika mixin ikifuatiwa na jina la hiyo variable ikifuatiwa na mabano {}.
import 'dart:io';
void bongo(idadi){
int idadi = int.parse(stdin.readLineSync()!);
for(int x = 0; x<idadi; x++){
print('Bongoclass');
}
}
void main(){
print('ANDIKA IDADI');
bongo(idadi);
}
mixin idadi {
}
Parameter zinaweza kuwa zaidi ya moja. Wacha tuone mfano mwingine wa kujumlisha namba mbili. Hapa sitatumia user input. Tutaweka wenyewe namba hizo. Kwa mfano tutaweka 5 na 7 ili program izijumlishe. Ikiwa parameter ni zaidi ya moja zote utatenganisha kwa alama ya koma ( , ).
import 'dart:io';
void jumlisha(x, y){
print(x + y);
}
void main(){
jumlisha(5, 6);
}
Ngoja tutengeneze program ya calculator ambapo itakuwa na parameter 3, ya kwanz ani namba ya kwanza, ya pili ni tendo la hesabu na ya tatu ni namba ya tatu.
import 'dart:io';
void jumlisha(int x, String y, int z) {
if(y == '+'){
print(x + z);
}
if(y == '-'){
print(x - z);
}
if(y == '*'){
print(x * z);
}
if(y == '/'){
print(x / z);
}
}
void main() {
print('Namba ya kwanza');
int x = int.parse(stdin.readLineSync()!);
print('Wek tendo la hesabu (+, /, *, -');
String y = stdin.readLineSync()!;
print('Namba ya tatu');
int z = int.parse(stdin.readLineSync()!);
jumlisha(x, y, z);
}
- Function zinazo return value
Sasa hapa tunakwend akuna function ambazo zina return value. Hizi hatuweki return type ya void mwanzoni mwa function. Pia badala ya ku print kwenye function tutaweka return, hivyo tutakwenda ku print wakati wa kuuta. Huo mfano wetu wa juu hapo nakwenda kuewka return
import 'dart:io';
jumlisha(int x, String y, int z) {
if(y == '+'){
return x + z;
}
if(y == '-'){
return x - z;
}
if(y == '*'){
return x * z;
}
if(y == '/'){
return x / z;
}
}
void main() {
print('Namba ya kwanza');
int x = int.parse(stdin.readLineSync()!);
print('Wek tendo la hesabu (+, /, *, -)');
String y = stdin.readLineSync()!;
print('Namba ya tatu');
int z = int.parse(stdin.readLineSync()!);
print(jumlisha(x, y, z));
}
import 'dart:io';
jumlisha(x, y){
return x + y;
}
void main(){
print(jumlisha(5, 6));
}
Mwisho:
Katika somo lilalofguata tutakwend kuona aina za function pia tutakwenda kujifunza jinsi ya kufanya parameter iwe default, required, ama option.