Funktionen
Es erfüllt eine bestimmte Aufgabe. Es kann Parameter annehmen und Ergebnisse zurückgeben. Es bietet Wiederverwendbarkeit von Codes.
Funktion erstellen: <accessType> <returnType> <functionName>(<parameters>){<codes>}
Funktionsverwendung: <Funktionsname>(<Parameter>)
Lassen Sie das Feld leer, da wir im Abschnitt „Klassen“ mehr über Zugriffsarten erfahren werden.
Wenn unsere Funktion einen Wert zurückgibt, schreiben wir den Datentyp oder das Objekt, das es zurückgibt, in den Abschnitt "<returnType>", wenn es keinen Wert zurückgibt, schreiben wir "func".
Funktionsnamen beginnen mit einem Kleinbuchstaben oder "_".
Schlüsselwörter in der A-Sprache werden verwendet, während geschriebene Codes in die gewünschte Softwaresprache kompiliert werden. Daher können sie nicht als Funktionsnamen verwendet werden. Es kann zu Fehlern führen, wenn es verwendet wird.
Parameter werden durch "," getrennt.
Beispiel:
mainfunc(){
sayHello();
print("2 to power of 3 = {power(2, 3)}");
}
static func sayHello() print("Hello");
static Int powerOf(Int base, Tam power){
Int result=1;
loop(Int n=0; n<power; n++)result*=power;
return result;
}
Ausgabe:
Hello
2 to power of 3 = 8
We saw "mainfunc" function in Basic Syntax section. "mainfunc" is static. Static functions only use static objects and functions. That's why we made "sayHi" and "powerOf" functions static. We'll learn more about "static" in Classes section.
Unterschiedlicher Parameter gleicher Name
Funktionen können denselben Namen mit unterschiedlichen Parametern haben.
mainfunc(){
sum(1, 2);
sum(4.7d, 3.3d);
}
static func sum(Int n1, Int n2) print("{n1}+{n2}={n1+n2}");
static func sum(Decimal n1, Decimal n2) print("{n1}+{n2}={n1+n2}");
Ausgabe:
1+2=3
4.7+3.3=8.0
Wir haben 2 "Add"-Funktionen erstellt, die ganze Zahlen und Dezimalzahlen addieren.
Zielfernrohr
Auf Objekte kann nur in dem Block zugegriffen werden, in dem sie erstellt wurden.
static Int num1=5;
mainfunc(){
Int num2=10;
print(num1); //5
print(num2); //10
}
static func f(){
print(num1); //5
print(num2); //Error
}
Da die Variable "number1" in der gesamten Klasse definiert ist, kann sie überall in der Klasse verwendet werden. Da die Variable "number2" in "mainfunc" definiert ist, kann sie nur in "mainfunc" verwendet werden. Es kann nicht in der "f"-Funktion verwendet werden.