Bună ziua și bun venit această prelegere Vreau să vorbesc despre returnarea datelor din funcții.
Până în acest moment, știm ce înseamnă o funcție este utilă.
Nu am definit funcții pe care ar trebui să le transmitem funcțiilor.
Acum vrem să vorbim despre modul în care putem returna datele din funcții.
Este, de asemenea, foarte util în exemplul nostru precedent atunci când înmulțim două numere pe funcția Multiplicare
afișează rezultatele calculului la terminal sau avem acea instrucțiune de imprimare acolo.
De asemenea, am avut un exemplu în care am fost doar o funcție simplă mai devreme.
Tocmai am tipărit datele în interiorul funcției.
Ei bine, atunci când ar fi frumos să vă configurați imprimarea acolo pentru că de fapt
face mai mult decât un lucru pe care la imprimat.
Datele au fost returnate printr-o imprimare a datelor din funcția principală.
S-ar putea să nu doriți întotdeauna să obțineți rezultatele calculelor afișate.
Funcția devine mai flexibilă și mai generică, care la rândul său permite utilizarea acesteia mai mult dacă
puteți returna datele.
Deci, funcțiile pot returna date utilizând o sintaxă specifică și văd că ar trebui să fim familiarizați cu acest lucru puțin pentru
că amintim funcția principală a funcției noastre principale, la sfârșitul căreia întoarcem datele destul de puțin.
Multe dintre exemplele pe care le-am expus la un moment dat nu prea am
înțeles ce înseamnă.
Să aruncăm o privire asupra formei generale a unei funcții.
Amintiți-vă că această funcție a avut-o, am avut un tip de retur, care a fost cuvântul care a
fost definit pentru prima dată și apoi am avut numele și apoi am avut parametrul separat de virgule în paranteze.
Știm deja acest nume în parametrii că primul lucru este tipul de returnare pentru tipul returului specifică tipul de
date sau valoarea returnată de funcțiile funcției poate returna orice tip de date.
Trebuie doar să lăsați compilatorul să știe ce date se întorc dacă este un flux int.
Dublu, indiferent de ce este, trebuie să specificați că și antetul
funcției dvs. tipul returului returnat de tip pe care l-am văzut timp de un an și puteți specifica acel tip de valoare care urmează
să fie returnată de o funcție atâta timp cât este un tip legal și văd am menționat principal cele care plutesc dublu și așa mai departe.
Dar puteți reveni și la enumerări și indicii pe care nu le-am discutat.
Dar o face foarte flexibilă și poți întoarce pointerul. Tipul de returnare poate fi de asemenea un tip vid.
Adesea vedeți că acest cuvânt cheie este anulat.
Înțelegem acum ce înseamnă că voyde înseamnă că nu vor fi returnate date.
Dacă vedeți voyde înainte de numele funcției, nu returnați date.
Dacă vedeți că nu aveți voie în lista de parametri, nu transmiteți date.
Void este doar un cuvânt cheie general pentru tipurile de retur și pentru parametri.
De asemenea, observați că puteți folosi vid ca și pointer, dar vom ajunge la asta când ajungem la asta.
Dar gol este un mod de a nu spune nimic.
Iar motivul pentru care includeți void spre deosebire de a nu include nimic este pentru că face programul
mai ușor de citit.
Puteți avea de fapt când transmiteți date unei funcții și nu aveți NU NU date care sunt transmise
puteți avea doar să fie paranteze goale, dar tu nu.
Este ușor să citești dacă ai un gol acolo.
Același tip de returnare pe care îl aveți, cu excepția tipului de returnare pe care trebuie să îl anulați.
Nu poți avea doar să fii gol.
Void înseamnă că nu vor fi returnate date.
Declarația de întoarcere pe care am discutat-o despre modul în care puteți identifica ce date vor fi returnate, dar cum de fapt
returnați datele din interiorul corpului funcției pe care trebuie să aveți o declarație sau puteți spune
ce veți reveni, deoarece amintiți-vă că corpul unei funcții poate avea o mulțime
de date.
Poate avea variabile locale care pot avea NICIODATĂ știți că funcția ar putea face un anumit calcul poate face
pentru a face mai multe calcule Ce doriți să reveniți.
Din fericire, există această afirmație cu cuvântul cheie întoarcere.
Dacă oferiți întoarcere fără nume de variabilă după expresie, înseamnă că tocmai ieșiți din funcție.
Este similar cu o pauză într-o buclă în care tocmai vă întoarceți din funcție.
Și puteți furniza acest lucru în funcții care sunt definite ca fiind neavenite.
Este clar faptul că atunci când accesați funcția, ar trebui să reveniți într-un singur loc în
partea de jos a funcției.
O să ajungem la asta mai târziu.
Dar o puteți avea oriunde într-o funcție.
Dacă o vedeți oriunde într-o funcție, înseamnă că veți sări din această funcție.
Motivul pentru care este bine să îl aveți în partea de jos este foarte clar când acceptați funcția.
Dacă aveți mai multe returnări, chiar dacă întoarceți date în întreaga funcție, este greu
de spus când vă întoarceți.
Ceea ce îmi place să fac în funcțiile mele este să creez variabile și să mă întorc doar o dată în partea de jos dacă
trebuie să revin ceva într-o funcție sau vreau să spun într-o declarație specifică într-o funcție sau așa mai departe.
Voi seta variabila si apoi o voi returna in partea de jos.
Deci, dacă te-ai întors și nu ai nimic după asta înseamnă că ai funcția în care
nu s-au întors date.
Acest lucru nu este cu adevărat folosit la fel de mult.
Folosiți-o numai în funcția void nu returnează o valoare.
Forma mai generală a instrucțiunii de întoarcere returnează o anumită variabilă sau o expresie X
plus Y sau o returnare X această formă a instrucțiunii return trebuie folosită cu tipul de retur
specificat în antetul funcției dacă îl returnați și indiferent de variabila sau returnarea expresiei
trebuie să fie și trebuie să evalueze la un int dacă îl returnați.
Acum, dacă întoarceți un dublu are valoarea dublului Amintiți-vă că puteți
avea mai multe tipuri diferite de date returnate valoarea returnată programului de asteptare este valoarea care rezultă atunci când
expresia este evaluată.
Dacă aveți pulsul X, returnați rezultatul expresiei respective și trebuie să fie același tip cu
declarația funcției.
Așa cum am menționat o funcție care are afirmații în corpul funcției, dar nu întoarce o valoare trebuie să aibă
tipul de returnare este void trebuie să.
Nu poți să nu poți avea asta dacă nu ai asta și nu returzi date.
Veți primi un mesaj de eroare atunci când compilați.
Când compilați programul și conține o funcție cu un tip de retur void care
încearcă să returneze un compilator de valori.
Void înseamnă că nici o retur nu returnează o variabilă în exprimare.
Dacă o funcție nu are un tip de returnare nevalidă și are un tip valid de returnare, veți
primi un mesaj de eroare dacă compilatorul încearcă să returneze un alt tip decât cel specificat.
Sau dacă tocmai s-au întors fără nimic după aceea, să acorde atenție acestui lucru.
Aceste cuvinte cheie la începutul declarației funcției sunt aspecte importante.
Aceasta afectează în mod direct implementarea funcției și compilatorul vă va spune dacă vă înșivăți și
nu returnați datele corecte sau dacă nu returnați date sau dacă returnați datele
când nu vă presupuneți pentru a returna datele.
Dacă expresia are ca rezultat o valoare diferită de un tip diferit de tipul retur în
antetul funcției.
Consultați că va încerca să o convertiți.
Compilatorul va încerca să o convertească dacă poate.
Deci, de exemplu, dacă vă întoarceți un flotor și expresia dvs. este I Plus-X cu două evenimente, acesta va converti
doar la un flux.
Dacă vă întoarceți un int și aveți o expresie care face calculul fluxului plutitor, acesta se va
converti la el.
Veți pierde date în acest caz, dar va face o conversie.
Nu este întotdeauna posibilă conversia.
În cazurile în care nu este posibil este posibil să aveți o eroare produsă de compilator.
Dacă încercați să vă întoarceți un int când doriți să returnați un șir sau când încercați să
îl returnați când trebuie să vă întoarceți știți că se va plânge.
De asemenea, compilatorul poate avea mai mult de o declarație de retur o funcție.
Am menționat acest lucru pe scurt și de ce nu doriți să faceți acest lucru.
Dar poți să o faci.
Puteți avea mai multe randamente pe parcursul funcției.
Pur și simplu face ca codul să fie mai greu de urmărit, deoarece ieșiți din funcție peste tot.
Când vă întoarceți și aveți valori de întoarcere multiple.
Doar asigurați-vă din nou dacă aveți o funcție care returnează ceva ce aveți o expresie sau
o valoare de acel tip sau o conversie.
Sau poate fi convertit.
Acum că am vorbit despre trecerea datelor care returnează date, știm cum să invocăm o funcție.
Dar vreau să văd câteva alte lucruri despre invocarea invocării pe care o numiți o funcție folosind doar
numele funcției, urmat de argumentele pe care le transmiteți între paranteze.
Știm atât de departe.
Dar vreau să spun în mod oficial.
Așa puteți invoca o funcție.
Când apelați funcția, valorile argumentelor pe care le specificați între paranteze vor
fi atribuite parametrilor din interiorul funcției.
Parametrii sunt variabilele cu tipul de date.
Apoi, puteți utiliza acea variabilă pe orice parte a corpului funcției atunci când funcția iese sau execută anumite
coduri și va folosi acele valori ale argumentelor ofertei, așa cum am vrut să spun, prin raționamentul greșit execută argumentele pe care le specificați atunci
când apelați în secvență un număr de tip de funcție shagreen.
Atunci când parametrii din ordinea de introducere a funcției sunt de asemenea importanți.
Nu am subliniat acest lucru, dar dacă se spune că X este dublu, trebuie să treci mai întâi și apoi dublul pe
care nu îl poți trece în dublul N în ordinea este foarte specific.
Asigurați-vă că transmiteți datele ca argument.
Când invocați funcția în același mod în care funcția este declarată în antetul funcției din lista
de parametri trecuți, iar tipul corect este același.
Invocarea unei funcții în atribuirea datelor returnate.
Dacă o funcție returnează date, funcția poate atribui acele date doar prin utilizarea operatorului
egal și după întoarcere.
Sau puteți să-l stocați într-o variabilă locală dacă doriți.
De asemenea, va funcționa cu o expresie, astfel încât să puteți spune retur x plus de ce puteți spune return x.
Puteți spune că returnați o constantă în acest exemplu aici, după ce ați invocat apelul atunci când doriți să atribuiți datele care au fost returnate, astfel încât să puteți spune
că X este egal cu funcția mea de apel, indiferent de funcția care revine, va fi atribuită la x și
dacă funcția mea apelul returnează x plus y rezultatul lui X plus Y va fi alocat X, astfel încât să puteți atribui
datele returnate dintr-un apel de funcții, având doar o variabilă pe partea stângă a egalului în invocarea funcției pe
mâna dreaptă parte a lui este egal cu funcția de apel
nu trebuie să recunoască sau să proceseze valoarea returnată de la o funcție apelată.
Nu trebuie să ai misiunea acolo.
Dacă o funcție returnează date și nu vă pasă de aceste date, nu trebuie să aveți egalitatea
deloc.
Puteți invoca doar funcția pe care doriți să aveți cu adevărat sens, deoarece dacă se întoarce date înseamnă că
probabil că trebuie să te uiți la ea dar nu trebuie să o faci Compilatorul nu se va
plânge dacă invocați doar o funcție și nu manipulați datele.
Depinde de dvs. modul în care doriți să utilizați datele returnate din apelurile funcționale.
Iată un exemplu de invocare a unei funcții și de returnare a datelor dintr-o funcție.
În acest exemplu, Walts se aplică numerelor.
Acesta a fost la fel ca exemplul pe care l-am avut anterior, dar exemplul anterior nu a returnat niciun fel de date.
Exemplul anterior afișat de ieșire din acest exemplu nu a afișat nicio ieșire.
Vom întoarce datele și apoi vom afișa ieșirea în funcția principală aici.
Voi multiplica două numere care iau două numere întregi ca parametri pe care le multiplicăm acele două numere
întregi și apoi în loc de imprimare care este suma mea sau valoarea pe care o folosim cuvântul cheie return turn și apoi specificăm
o variabilă numită rezultat.
Da, este greșit.
Nu vă faceți griji despre asta.
Și apoi avem semi-curat Și când veți vedea că reveni cuvântul cheie în interiorul corpului de funcții pe care le
întoarce aceste date.
Și amintiți-vă că puteți avea acele locuri multiple, dar puteți avea doar o valoare de întoarcere.
Nu puteți returna mai multe valori, astfel încât dacă aveți cuvântul cheie de retur în mai multe locuri, trebuie
să fie în interiorul unei instrucțiuni if.
Nu poți sau bucla pentru că ai sări de la dreapta.
Aceasta este dacă aveți o întoarcere urmată de o altă întoarcere.
Vă va oferi o eroare deoarece ar spune că aveți două întoarce.
În ambele cazuri întotdeauna vă întoarceți la rezultate.
Nu puteți face acest lucru, dar cuvintele cheie de retur importante vă întoarce o variabilă și apoi
veți vedea funcția principală că datele care sunt returnate sunt atribuite unei alte variabile locale
numite rezultatul.
Veți observa că aici folosim aceleași nume.
Acest lucru are legătură cu domeniul de aplicare al funcției pe care o vom vorbi despre următoarea prelegere.
Variabilele locale versus variabilele globale.
Tot ce trebuie să acorzi atenție în această prelegere este faptul că
această funcție înmulțește două numere returnează datele cum o returnezi returnezi folosind cuvântul cheie returnat
urmat de variabila expresiei.
De asemenea, observați faptul că multiplicarea a două numere specifică tipul de retur în partea de sus a antetului funcției.
Se întoarce un int.
Așa că trebuie să ne întoarcem un int.
De asemenea, observați că atunci când atribuim datele în funcția principală pe care le atribuim unui int care le
atribuie foarte ușor, avem doar un operator egal.
Dacă nu ne-ar păsa de datele pe care am putea să le numim multiplicăm două numere și apoi nu facem nimic cu ele.
Dar după ce primim datele returnate din funcție, atunci vom fi tipărite folosind o funcție de tipărire.
Acest lucru face ca funcția să fie mai coerentă, deoarece este nevoie ca datele să nu afișeze rezultatele în interiorul
funcției.
Există momente în care nu vrem să afișăm rezultatele pe care
doar dorim să le multiplicăm două numere și apoi am putea dori să împărțim flexibilitatea produsului cu datele transmise în datele returnate
este o afacere mare.
Acesta este un exemplu simplu pe care îl veți expune mai mult în următoarea noastră provocare.