Press "Enter" to skip to content

Channels – Go Lang Practical Programming Tutorial p.22


cosa sta succedendo a tutti e benvenuto
alla parte 22 della serie di tutorial di Golan
in questo tutorial di cosa stiamo parlando
a proposito di canali così l’idea di
canali con go è usarli con
le routine di percorrere per inviare e
ricevere valori tra di loro usando il
operatore di canale e il canale
l’operatore è solo il tuo segno minore e
quindi un segno meno sembra fondamentalmente
come una freccia quindi andiamo avanti e basta
inizia con un vero non so cosa io
stava per scrivere ma comunque pacchetto
principale consente di importare formato anche incantesimo
importare correttamente e quindi non avrà func
main e e cosa faremo per primi noi
dovremmo fare un canale così generalmente
per fare un canale che farai
e quindi avrai il canale così
faremo un Chan e poi tu
dare alla stanza il tipo di canale così
in questo caso sarà di tipo int
quindi possiamo assegnare questo e dare questo a
conosci la variabile di una vasca facendo foo
Val
così foo val è un canale dell’int
tipo ora ovviamente proprio come un sacco di
le cose vanno se vuoi quel canale
potrebbe contenere un tipo che hai creato
con una struttura così se volessi passare
essere in grado di passare a sapere ogni volta un
intero una stringa e quindi un float o
qualcosa del genere potresti creare un
tipo personalizzato e passa quello invece così
comunque il nostro canale sarà il pollo e
poi andremo a fare è che faremo
vieni qui e creeremo func
foo e in pratica quello che faremo
con foo, diciamo solo che stiamo andando
prendere un valore così ti porteremo
conosci qualche valore e poi vogliamo
moltiplicalo per 5, quindi questa funzione foo
deve almeno accettare in qualche modo
e questo sarà del tipo int ora, se noi
voglio inviare e ricevere questo oltre
canali abbiamo anche bisogno di passare il
canale in modo stiamo andando passaggio C per
canale
quindi è un Chan e così vedete Chan int così
allora qualche valore vale cinque ora se noi
voglio passarlo al canale send
su questo canale possiamo dire di vedere
per il canale e quindi utilizzare il canale
operatore per l’invio che oltre alla
canali in modo sostanzialmente quello che stiamo facendo
stiamo mandando al canale alcuni
valore cinque volte perché stiamo inviando
sul canale in realtà non lo facciamo
è necessario restituire qualsiasi cosa in questa funzione
lo mandiamo semplicemente sul canale così
verremo qui ora e lo faremo
dì vai, il canale è vocale e
il valore diciamo è cinque e poi
andiamo avanti e fare di nuovo
quindi facciamo tre, quindi ora cosa faremo
siamo in grado di ricevere quei valori allo stesso modo
modo utilizzando l’operatore del canale il
l’ operatore del canale come la freccia no
mai punto l’altro modo così così il modo
che possiamo farcela, lo sai se noi
può caricare un valore o inviare un valore al
canale o possiamo ottenere un valore dal
canale e facendo la stessa cosa così noi
potrei dire che il colon v1 equivale a qualunque cosa
ricevere valore da foo fowl è ora
questo sarà solo il primo valore da
ciao, perché sappiamo che ne abbiamo due
valori potremmo hardcodificare e dire v2
è anche qualunque sia il secondo pippo di
al è fondamentalmente bene andiamo
avanti e stampare questo fuori troppo così ora
formiamo dot dotline line v1 v2 così
andiamo avanti e risparmiamo che andremo
corro andare per andare e abbastanza sicuro che abbiamo 15
e 25 quindi è proprio come se fosse davvero
esempio di base di utilizzo dei canali ma
ovviamente diventa un po ‘più complesso
di quello di nuovo solo un po ‘come semplice
vai a routine iniziamo ad avere domande
di come facciamo la sincronizzazione come fare
facciamo cose come per esempio non l’abbiamo fatto
anche in realtà sincronizzare questi, ma poi
c’è anche il concetto di buffering
con i canali
e cose del genere e poi anche
semplicemente iterando su canali come un
caso di alone potremmo sapere quanti
sitemaps con cui lavoreremo
potremmo in teoria sapere quanti valori
sarebbe tornato ma ovviamente questo è
piuttosto sciatta l’altra cosa che potresti
fare è si potrebbe dire V 1 V 2 due punti
e poi il ritorno come questo penso
quello che prova a pensare che non sono sicuro di te
potrebbe farlo in quel modo penso che sia così
in realtà e lasciatemi commentare questi
fuori vero veloce vediamo no forse è
vale una virgola c’è un modo per farlo
in questo modo in entrambi i casi però sì ok che
ha funzionato così ma in ogni caso questo sarebbe
hard-coded come diciamo che hai avuto nel nostro
caso come si, penso che abbiamo 15 anni
sitemaps o qualcosa del genere, ma se tu
aveva cento come te
programmatore scrivi tutto questo no , no
vorrà iterare sui canali
e quando si itera su di loro che è
quando quando la sincronizzazione diventa un
problema perché in realtà proprio ora tu
potrebbe aver già notato hey siamo
usando le routine di go e non abbiamo dovuto
aspettare che siano loro a destra
questo perché di default un canale il
la trasmissione e ricezione parte del canale
sta andando essere bloccando così il più a lungo
stai hey hey stai dicendo che voglio
ricevere quei valori che bloccheranno
per te ma ancora, proprio come sono stato
dicendo in questa intera serie di base
gli esempi sono davvero facili è quando tu
effettivamente andare ad usarli in pratica che
sei come aspettare che non funzioni
più va bene così comunque è quello che
lo scopriremo nel prossimo
tutorial è come possiamo effettivamente di più
praticamente usi i canali ma se ne hai
qualsiasi domanda commenti riguarda o
qualunque cosa fino a questo punto sentiti libera di fare
chino sotto altrimenti ti vedrò in
il prossimo tutorial
Please follow and like us:

Be First to Comment

Lascia un commento