GO_INTERVIEW_LIB Telegram 298
💬 Даны два канала. В первый пишутся числа. Необходимо, чтобы числа читались из первого по мере поступления, что-то с ними происходило и результат записывался во второй канал. 

Для решения этой задачи можно использовать горутину, которая будет читать числа из первого канала, выполнять некоторую операцию с каждым числом (например, умножать его на 2) и отправлять результат во второй канал.

📌 Вот пример решения на Go:

package main

import (
"fmt"
)

func processNumbers(input <-chan int, output chan<- int) {
for num := range input {
// Пример операции: умножаем число на 2
result := num * 2
output <- result
}
close(output)
}

func main() {
inputChannel := make(chan int)
outputChannel := make(chan int)

go processNumbers(inputChannel, outputChannel)

// Отправляем числа в первый канал
go func() {
for i := 1; i <= 5; i++ {
inputChannel <- i
}
close(inputChannel)
}()

// Читаем результаты из второго канала
for result := range outputChannel {
fmt.Println(result)
}
}


🔹 Функция processNumbers принимает два канала: input для чтения и output для записи. Она читает каждое число из input, умножает его на 2 и отправляет результат в output. После обработки всех чисел она закрывает канал output.
🔹 В функции main, создаются два канала: inputChannel и outputChannel.
🔹 Горутина processNumbers запускается для обработки чисел, передавая ей эти каналы.
🔹 В отдельной горутине числа от 1 до 5 отправляются в inputChannel, после чего канал закрывается.
🔹 В основной горутине читаются и выводятся результаты из outputChannel.
🥱13👍103



tgoop.com/go_interview_lib/298
Create:
Last Update:

💬 Даны два канала. В первый пишутся числа. Необходимо, чтобы числа читались из первого по мере поступления, что-то с ними происходило и результат записывался во второй канал. 

Для решения этой задачи можно использовать горутину, которая будет читать числа из первого канала, выполнять некоторую операцию с каждым числом (например, умножать его на 2) и отправлять результат во второй канал.

📌 Вот пример решения на Go:

package main

import (
"fmt"
)

func processNumbers(input <-chan int, output chan<- int) {
for num := range input {
// Пример операции: умножаем число на 2
result := num * 2
output <- result
}
close(output)
}

func main() {
inputChannel := make(chan int)
outputChannel := make(chan int)

go processNumbers(inputChannel, outputChannel)

// Отправляем числа в первый канал
go func() {
for i := 1; i <= 5; i++ {
inputChannel <- i
}
close(inputChannel)
}()

// Читаем результаты из второго канала
for result := range outputChannel {
fmt.Println(result)
}
}


🔹 Функция processNumbers принимает два канала: input для чтения и output для записи. Она читает каждое число из input, умножает его на 2 и отправляет результат в output. После обработки всех чисел она закрывает канал output.
🔹 В функции main, создаются два канала: inputChannel и outputChannel.
🔹 Горутина processNumbers запускается для обработки чисел, передавая ей эти каналы.
🔹 В отдельной горутине числа от 1 до 5 отправляются в inputChannel, после чего канал закрывается.
🔹 В основной горутине читаются и выводятся результаты из outputChannel.

BY Библиотека Go для собеса | вопросы с собеседований


Share with your friend now:
tgoop.com/go_interview_lib/298

View MORE
Open in Telegram


Telegram News

Date: |

As of Thursday, the SUCK Channel had 34,146 subscribers, with only one message dated August 28, 2020. It was an announcement stating that police had removed all posts on the channel because its content “contravenes the laws of Hong Kong.” On June 7, Perekopsky met with Brazilian President Jair Bolsonaro, an avid user of the platform. According to the firm's VP, the main subject of the meeting was "freedom of expression." Telegram iOS app: In the “Chats” tab, click the new message icon in the right upper corner. Select “New Channel.” For crypto enthusiasts, there was the “gm” app, a self-described “meme app” which only allowed users to greet each other with “gm,” or “good morning,” a common acronym thrown around on Crypto Twitter and Discord. But the gm app was shut down back in September after a hacker reportedly gained access to user data. A Telegram channel is used for various purposes, from sharing helpful content to implementing a business strategy. In addition, you can use your channel to build and improve your company image, boost your sales, make profits, enhance customer loyalty, and more.
from us


Telegram Библиотека Go для собеса | вопросы с собеседований
FROM American