Press "Enter" to skip to content

Channels — Go Lang Practical Programming Tutorial p.22


что происходит у всех и приветствуем
к части 22 учебной серии Голан
в этом уроке мы говорим
о каналах, поэтому идея
каналы с go должны использовать их с
ваши пойдут процедуры для того , чтобы отправить и
получать значения между ними с помощью
канальный оператор и канал
оператор — это всего лишь ваше меньше, чем знак и
то знак минус в основном выглядит
как стрела, так что давайте двигаться вперед и просто
начать с действительно не знаю, что я
собирался набрать, но все равно пакет
основной формат импорта также будет записан
импортировать право, а затем не будет функционировать
главное, и что мы сделаем в первую очередь, мы
должен сделать канал таким образом
чтобы сделать канал , которую вы собираетесь иметь сделать
и тогда у вас будет канал, поэтому
мы собираемся сделать Чан, а потом ты
дайте комнате тип канала, чтобы
в этом случае это будет тип int
поэтому мы можем присвоить это и дать этому
вы знаете переменную vat, выполняя foo
Val
поэтому foo val является каналом int
типа теперь, конечно же , как много
все идет, если вы хотите, чтобы этот канал
он может содержать тип, который вы создали
со структурой, поэтому, если вы хотите пройти
быть в состоянии передать вам знать каждый раз, когда
целое число, а затем float или
что-то вроде этого вы могли бы создать
пользовательский тип и передать это вместо этого
в любом случае наш канал будет foo fowl и
тогда мы собираемся это сделать, мы собираемся
придумай здесь, и мы собираемся создать func
foo и в основном то, что мы собираемся делать
с foo, давайте просто скажем, что мы собираемся
принять значение, чтобы мы взяли тебя
знать какую-то ценность, а затем мы хотим
умножьте его на 5, чтобы эта функция foo
необходимо хотя бы принять в какой-то мере
и это будет теперь тип int, если мы
хочу отправить и получить это за
каналы мы также должны пройти
канал, поэтому мы собираемся пройти C для
канал
так что это Chan int int, так что см. Chan int so
то некоторое значение раз пять, если мы
хотите передать это на канал
что по этому каналу мы можем сказать,
для канала, а затем использовать канал
оператору передавать их через к
каналы, так что в основном то, что мы делаем
мы отправляем на канал какие-то
значение раз пять, потому что мы отправляем
он по каналу, который мы на самом деле не делаем
нужно возвращать что-либо в этой функции
мы просто отправляем его по каналу, поэтому
мы сейчас придем сюда, и мы просто
скажем, go foo, канал — это гласный boo и
значение — это пять, а затем
давайте продолжим и сделаем это снова
так что давайте сделаем три, так что теперь мы сделаем
мы можем получить эти значения одинаково
используя оператор канала
канальный оператор, как стрелка, не
когда-либо указывали иначе, так что путь
что мы можем это сделать, вы знаете, если мы
может загрузить значение или отправить значение в
или мы можем получить значение из
и делать то же самое, чтобы мы
может сказать, что кина v1 равна любой
получение значения от foo fowl теперь
это будет только первое значение из
foo гласный, потому что мы знаем, что у нас есть два
мы могли бы жестко записать его и сказать v2
Кроме того , независимо от второй Foo из
al в основном хорошо давайте пойдем
вперед и распечатать это тоже , так что теперь
давайте сделаем формат print print v1 v2 так, чтобы
давайте продолжим и сохраним, что мы пойдем
бегите, идите, и, конечно, получим 15
и 25, так что это точно так же, как на самом деле
базовый пример использования каналов, но
очевидно, он становится немного сложнее
чем это снова просто вроде как простой
мы начинаем задавать вопросы
о том, как мы выполняем синхронизацию
мы делаем такие вещи, как, например, мы не
даже фактически синхронизировать их, но затем
существует также концепция буферизации
с каналами
и так далее , а затем
просто перебирать каналы, как
случай ауры мы могли бы знать, сколько
sitemaps, с которыми мы собираемся работать
мы могли бы теоретически знать, сколько значений
собирались вернуться , но очевидно , что это
довольно неряшливо, что ты мог
do, вы можете сказать, что V 1 V 2 двоеточие равно
и тогда возвращение вроде этого я думаю
что пытаюсь думать, что я не уверен, что ты
может сделать так, я думаю, это
на самом деле и позвольте мне прокомментировать эти
вне, быстро посмотрим, может быть, это
стоит запятая, есть способ сделать это
так или иначе, хотя да, хорошо, что
работал так, но в любом случае это было бы
жестко закодированные, скажем, у вас в нашем
Я думаю, что нам нравится 15
sitemaps или что-то, но что, если вы
было как сто, если вы, как
программист пишут все это без тебя
захочется перебирать каналы
и когда вы повторяете их ,
когда когда синхронизация становится
потому что на самом деле прямо сейчас вы
возможно , уже заметили, что мы
используя процедуры go, и нам не приходилось
дождаться их права
это потому , что по умолчанию используется канал
передающая и принимающая часть канала
собирается блокировать так до тех пор,
вы эй вы говорите эй я хочу
получить те значения, которые он собирается заблокировать
для вас , но опять же , как я был
говоря во всей этой серии Basic
примеры очень легки, когда вы
на самом деле идти , чтобы использовать их на практике , что
вам нравится ждать, что не работает
больше в порядке , так или иначе, это то , что
мы узнаем о следующем
учебник, как мы можем на самом деле больше
практически использовать каналы, но если у вас есть
любые вопросы, касающиеся комментариев или
все , что до этого момента не стесняйтесь
опуститесь ниже, иначе я увижу вас в
следующий учебник
Please follow and like us:

Be First to Comment

Добавить комментарий