Šiame straipsnyje sužinosite viską apie „Swift“ funkcijas, sintaksę, tipus su pavyzdžiais.
Kas yra funkcija?
Funkcija yra teiginių grupė, apibrėžianti veiksmą, kurį reikia atlikti. Pagrindinis funkcijos naudojimas yra padaryti kodą daugkartinio naudojimo.
Netechniniu požiūriu galite galvoti apie funkciją kaip apie mašiną. Mašina atlieka tam tikrą užduotį, prašo įvesties, apdoroja įvestį ir grąžina išvestį.
Funkcijų tipai
Priklausomai nuo to, ar funkciją iš anksto nustatė, ar sukūrė programuotojas; yra dviejų tipų funkcijos:
- Bibliotekos funkcijos - funkcijos, kurios jau apibrėžtos „Swift Framework“.
- Vartotojo nustatytos funkcijos - pačios programuotojo sukurtos funkcijos.
Bibliotekos funkcijos
Bibliotekos funkcijos yra integruotos funkcijos, kurios jau apibrėžtos „Swift“ sistemoje. Šios funkcijos yra naudojamos norint išspręsti dažniausiai pasitaikančias „Swift“ problemas, kad jums nereikėtų jų spręsti patiems. Tai paprastos operacijos, tokios kaip spausdinimas, minimalaus ir maksimalaus nustatymas ir kt.
Bibliotekos funkciją galite naudoti tiesiogiai ją iškvietę (iškviesdami). Jei norite, galite pamatyti visas „Swift“ sistemos funkcijas. Tiesiog parašykite importuoti „Swift“, paspauskite „Cmd“ ir spustelėkite jį. Jūs pateksite į naują puslapį. Ieškokite visų teiginių, prasidedančių func
raktiniu žodžiu.
1 pavyzdys: biblioteka arba įmontuota funkcija
print("Hello, World!")
Kai paleisite pirmiau nurodytą programą, išvestis bus:
Labas pasauli!
Pirmiau pateiktoje programoje mes pasinaudojome integruota print
funkcija, apibrėžta „Swift Framework“. Funkcija naudojama spausdinti konsolės išvestį.
Mes galime iškviesti print()
funkciją, nes „Swift“ sistema automatiškai importuojama į mūsų žaidimų aikštelę. Priešingu atveju turėtume patys importuoti rašydami import Swift
.
Vartotojo nustatytos funkcijos
„Swift“ taip pat leidžia apibrėžti savo funkciją. Savo funkcijos sukūrimas padeda rašyti kodą problemoms spręsti ar užduotims, kurių nėra „Swift Framework“, atlikti. Taip pat galite pakartotinai naudoti savo funkciją ir ateityje atlikti panašias užduotis.
Funkcijos taip pat gali būti skirstomos pagal parametrus ir grąžinimo sakinius. Žr. Straipsnį „Greitieji funkcijų parametrų tipai ir grąžinimo tipai“.
Funkcijos apibrėžimas
func function_name (argumentai…) -> ReturnType (// teiginiai grąžina vertę)
Leiskite trumpai apibūdinti kiekvieną komponentą:
func
yra raktinis žodis, kurį turite parašyti, kad sukurtumėte funkcijąfunction_name
yra funkcijos pavadinimas. Galite suteikti jai bet kokį pavadinimą, apibrėžiantį, ką veikia funkcija.args…
apibrėžia įvestį, kurią priima funkcija.->
Šis operatorius naudojamas funkcijos grąžinimo tipui nurodyti.ReturnType
apibrėžia vertės, kurią galite grąžinti iš funkcijos, tipą. Pvz.Int
, IrString
t.return
raktinis žodis naudojamas perkelti programos valdymą į funkcijos iškvietimą ir grąžinti vertę iš funkcijos.
Net jei nenurodote grįžimo raktinio žodžio, funkcija grąžinama automatiškai, įvykdžius paskutinį sakinį.value
reiškia faktinius duomenis, grąžintus iš funkcijos. Vertės tipas turi atitiktiReturnType
.
Kaip veikia funkcija?
Pirmiau pateiktoje diagramoje teiginys function_name(args)
iškviečia / iškviečia funkciją su argumentų reikšmėmis args, kuri palieka dabartinę kodo sekciją (ty nustoja vykdyti po ja esančius sakinius) ir pradeda vykdyti pirmąją eilutę funkcijos viduje.
- Programa ateina į kodo eilutę
func function_name(Args… )
ir priima argumentų reikšmes, perduotas funkcijos iškvietimo metufunction_name(args)
. - Tada programa vykdo sakinius,
statementsInsideFunction
apibrėžtus funkcijos viduje. - Funkcijos viduje esantys sakiniai vykdomi eilės tvarka iš viršaus į apačią.
- Vykdžius paskutinį sakinį, programa palieka funkciją ir grįžta ten, kur ji prasidėjo, ty
function_name(args)
. let val =
iš funkcijos grąžintą vertę saugo pastoviame val. Panašiai galite laikyti kintamajame kaipvar val =
.- Po to
statementsOutsideFunction
vykdomi pareiškimai .
2 pavyzdys: Kaip apibrėžti funkciją „Swift“?
func greet(user:String) ( print("Good Morning! (user)") )
Aukščiau pateiktas funkcijos apibrėžimas, kurį sudaro šie komponentai:
- Raktažodis
func
žymi funkcijos antraštės pradžią. greet
yra funkcijos pavadinimas, leidžiantis unikaliai identifikuoti ir iškviesti funkciją programoje.(user:String)
pažymi funkcijos antraštės pabaigą ir priima tipo parametrąString
. Žr. Straipsnį „Greitieji funkcijų parametrų tipai ir grąžinimo tipai“, kuriame apibrėžiama funkcija su parametrais.- Funkcija susideda iš
print
sakinio kūno viduje, kuris įvykdomas iškvietus funkciją.
Funkcijos iškvietimas
Sukūrę funkciją, galite ją iškviesti savo programoje, kad įvykdytumėte funkcijos viduje deklaruotus teiginius. Norėdami iškviesti funkciją, paprasčiausiai parašykite funkcijos pavadinimą, po kurio eina (), ir įvesite jo įvesties parametrus kaip:
pasisveikinti (vartotojas: "Isac")
3 pavyzdys: „Swift“ funkcijos iškvietimas
func greet(user:String) ( print("Good Morning! (user)") ) greet(user: "Isac")
Kai paleisite pirmiau nurodytą programą, išvestis bus:
Labas rytas! Isac
Ankstesniame kode greet(user: "Isac")
iškviečia funkciją ir perduoda Isac
tipo vertę String
. Po to print
sakinys funkcijos viduje vykdomas.
Grąžinimo pareiškimas
Grįžtamasis raktinis žodis liepia programai palikti funkciją ir grįžti į eilutę, kurioje buvo paskambinta funkcija.
Taip pat galite perduoti vertę pagal return
raktinį žodį, kur reikšmė yra kintamasis arba kita informacija, gaunama iš funkcijos.
3 pavyzdys: funkcija su grįžtamuoju raktiniu žodžiu
func greet(user:String)-> String ( return "Good Morning! (user)" ) let greeting = greet(user: "Isac") print(""" You have a new message (greeting) """)
Kai paleisite pirmiau nurodytą programą, išvestis bus:
Turite naują žinutę Labas rytas! Isac
Ankstesniame kode greet(user: "Isac")
iškviečia funkciją ir perduoda Isac
tipo vertę String
. return "Good Morning! (user)"
sakinys grąžina tipo vertę String
ir perkelia programą į funkcijų iškvietimą.
let greeting =
saugo iš funkcijos grąžintą vertę. Grįžus funkcijai, įvykdomas print
sakinys, esantis po funkcijos iškvietimu.
Dalykai, kuriuos reikia atsiminti
- Suteikite funkcijos pavadinimą, kuris atspindėtų funkcijos paskirtį.
- Funkcija turėtų atlikti tik vieną užduotį. Jei funkcija atlieka daugiau nei vieną užduotį, suskirstykite ją į kelias funkcijas.
- Pabandykite anksti apgalvoti ir sugrupuoti sakinius funkcijoje, kuri padaro kodą daugkartinį ir modulinį.