Selles artiklis saate õppida Swifti funktsioonide kohta, mis on funktsioon, süntaks ja tüübid koos näidetega.
Mis on funktsioon?
Funktsioon on lausete rühm, mis määratleb sooritatava toimingu. Funktsiooni peamine kasutusala on muuta kood korduvkasutatavaks.
Mittetehniliselt võite mõelda funktsioonist kui masinast. Masin täidab kindlat ülesannet, küsib sisendit, töötleb sisendit ja tagastab väljundi.
Funktsioonide tüübid
Sõltuvalt sellest, kas funktsioon on programmeerija poolt eelnevalt määratletud või loodud; on kahte tüüpi funktsioone:
- Raamatukogu funktsioonid - funktsioonid, mis on määratletud juba Swift Frameworkis.
- Kasutaja määratud funktsioonid - funktsioonid, mille programmeerija ise loob.
Raamatukogu funktsioonid
Raamatukogu funktsioonid on sisseehitatud funktsioonid, mis on juba määratletud Swift raamistikus. Need funktsioonid on olemas Swifti levinud probleemide lahendamiseks, nii et te ei pea neid ise lahendama. Need on lihtsad toimingud nagu printimine, miinimumi ja maksimumi leidmine jne.
Teegi funktsiooni saate otse kasutada, kutsudes seda (helistades). Soovi korral näete kõiki funktsioone Swifti raamistikus. Kirjutage lihtsalt import Swift, vajutage Cmd ja klõpsake seda. Saate navigeerida uuele lehele. Otsige kõigist func
märksõnaga algavatest lausetest.
Näide 1: teek või sisseehitatud funktsioon
print("Hello, World!")
Ülaltoodud programmi käivitamisel on väljund:
Tere, Maailm!
Ülaltoodud programmis oleme kasutanud sisseehitatud print
funktsiooni, mis on määratletud Swift Frameworkis. Funktsiooni kasutatakse konsooli väljundite printimiseks.
Saame print()
funktsiooni kutsuda, kuna Swift raamistik imporditakse automaatselt meie mänguväljakule. Vastasel juhul oleksime pidanud selle ise kirjutades importima import Swift
.
Kasutaja määratud funktsioonid
Swift võimaldab teil ka ise oma funktsiooni määratleda. Oma funktsiooni loomine aitab kirjutada koodi, et lahendada probleeme või täita ülesandeid, mis pole Swift Frameworkis saadaval. Samuti saate oma funktsiooni tulevikus sarnaste ülesannete täitmiseks taaskasutada.
Samamoodi saab funktsioone kategoriseerida ka parameetrite ja tagastuslausete alusel. Vaadake artiklit Kiirfunktsioonide parameetrite tüübid ja tagastustüübid.
Funktsiooni määratlemine
func function_name (args…) -> ReturnType (// lausete tagastusväärtus)
Kirjeldame kõiki komponente lühidalt:
func
on märksõna, mille peate funktsiooni loomiseks kirjutamafunction_name
on funktsiooni nimi. Võite anda sellele mis tahes nime, mis määratleb funktsiooni toimingu.args…
määratleb sisendi, mille funktsioon aktsepteerib.->
Seda operaatorit kasutatakse funktsiooni tagasituleku tüübi tähistamiseks.ReturnType
määratleb väärtuse tüübi, mille saate funktsioonilt tagastada. NtInt
,String
jnereturn
märksõna kasutatakse programmi juhtimise ülekandmiseks funktsioonikõnesse ja funktsiooni väärtuse tagastamiseks.
Isegi kui te ei määra tagasisõna, naaseb funktsioon pärast viimase lause täitmist automaatselt.value
tähistab funktsioonilt tagastatud tegelikke andmeid. Väärtuse tüüp peab vastama väärtuseleReturnType
.
Kuidas funktsioon töötab?
Ülaltoodud diagrammil function_name(args)
kutsub lause välja / kutsub funktsiooni argumendiväärtustega arg, mis seejärel lahkub praegusest koodilõigust (st peatab selle all olevate lausete täitmise) ja hakkab funktsiooni sees esimest rida täitma.
- Programm jõuab
func function_name(Args… )
koodirea juurde ja aktsepteerib funktsioonikõne ajal edastatud argide väärtusifunction_name(args)
. - Seejärel täidab programm
statementsInsideFunction
funktsiooni sees määratletud laused . - Funktsiooni sees olevad laused täidetakse üksteise järel ülevalt alla.
- Pärast viimase lause täitmist lahkub programm funktsioonist ja läheb tagasi sinna, kust alustati st
function_name(args)
. let val =
salvestab funktsioonist tagastatud väärtuse konstantsesse val. Samamoodi saate muutujana salvestada kuivar val =
.- Pärast seda
statementsOutsideFunction
täidetakse avaldused .
Näide 2: Kuidas funktsiooni Swiftis määratleda?
func greet(user:String) ( print("Good Morning! (user)") )
Ülal on funktsiooni määratlus, mis koosneb järgmistest komponentidest:
- Märksõna
func
tähistab funktsiooni päise algust. greet
on funktsiooni nimi programmis funktsiooni kordumatuks tuvastamiseks ja kutsumiseks.(user:String)
tähistab funktsiooni päise lõppu ja aktsepteerib tüübiparameetritString
. Vaadake artiklit Kiirfunktsioonide parameetrite tüübid ja tagastustüübid, mis määratlevad funktsiooni parameetritega.- Funktsioon koosneb
print
kehasisest avaldusest, mis käivitatakse pärast funktsiooni kutsumist.
Funktsiooni kutsumine
Kui olete funktsiooni loonud, saate seda oma programmis kutsuda funktsiooni sees deklareeritud lausete täitmiseks. Funktsiooni kutsumiseks kirjutage lihtsalt funktsiooni nimi, millele järgneb (), ja sisestage selle sisendparameetrid järgmiselt:
tervita (kasutaja: "Isac")
Näide 3: funktsiooni kutsumine rakenduses Swift
func greet(user:String) ( print("Good Morning! (user)") ) greet(user: "Isac")
Ülaltoodud programmi käivitamisel on väljund:
Tere hommikust! Isac
Ülaltoodud koodis greet(user: "Isac")
kutsub funktsiooni ja edastab Isac
tüübi väärtuse String
. Pärast seda print
täidetakse lause funktsiooni sees.
Tagasi avaldus
Tagasi märksõna käsib programmil funktsioonist lahkuda ja naasta reale, kuhu funktsioonikõne tehti.
Väärtuse saate edastada ka return
märksõnaga, kus väärtus on muutuja või muu funktsioonist naasev teave.
Näide 3: funktsioon tagastatava märksõnaga
func greet(user:String)-> String ( return "Good Morning! (user)" ) let greeting = greet(user: "Isac") print(""" You have a new message (greeting) """)
Ülaltoodud programmi käivitamisel on väljund:
Teil on uus sõnum Tere hommikust! Isac
Ülaltoodud koodis greet(user: "Isac")
kutsub funktsiooni ja edastab Isac
tüübi väärtuse String
. return "Good Morning! (user)"
lause tagastab tüübi väärtuse String
ja kannab programmi funktsioonikutsele.
let greeting =
salvestab funktsioonist tagastatud väärtuse. Pärast funktsiooni naasmist print
käivitatakse funktsioonikõne all olev lause.
Asjad, mida meeles pidada
- Pange funktsiooni nimi, mis peegeldab funktsiooni eesmärki.
- Funktsioon peaks täitma ainult ühte ülesannet. Kui funktsioon teeb rohkem kui ühte ülesannet, jagage see mitmeks funktsiooniks.
- Proovige mõelda varakult ja rühmitada avaldused funktsiooni sees, mis muudab koodi korduvkasutatavaks ja modulaarseks.