GOLANG_INTERVIEW Telegram 1261
📐 Базовая задача с собеседования на Go

Условие:
Нужно реализовать конвейер чисел:
1️⃣ В первый канал (naturals) последовательно пишутся числа
2️⃣ Числа читаются из первого канала, возводятся в квадрат
3️⃣ Результат записывается во второй канал (squares)
4️⃣ Главное — корректно закрыть каналы после работы

Решение:
package main

import "fmt"

func main() {
naturals := make(chan int)
squares := make(chan int)

// Горутина-писатель
go func() {
for x := 0; x <= 10; x++ {
naturals <- x
}
close(naturals) // Важно закрыть канал!
}()

// Горутина-обработчик
go func() {
for x := range naturals {
squares <- x * x
}
close(squares) // Важно закрыть канал!
}()

// Чтение результатов
for res := range squares {
fmt.Println(res)
}
}


Пояснение:
1️⃣ Создаем 2 канала: для исходных чисел и результатов
2️⃣ Первая горутина пишет числа 0-10 в naturals и закрывает канал
3️⃣ Вторая горутина читает из naturals, вычисляет квадраты и пишет в squares
4️⃣ Главная горутина выводит результаты
6️⃣ Закрытие каналов предотвращает deadlock

@golang_interview
13👍7🔥4🙏1



tgoop.com/golang_interview/1261
Create:
Last Update:

📐 Базовая задача с собеседования на Go

Условие:
Нужно реализовать конвейер чисел:
1️⃣ В первый канал (naturals) последовательно пишутся числа
2️⃣ Числа читаются из первого канала, возводятся в квадрат
3️⃣ Результат записывается во второй канал (squares)
4️⃣ Главное — корректно закрыть каналы после работы

Решение:

package main

import "fmt"

func main() {
naturals := make(chan int)
squares := make(chan int)

// Горутина-писатель
go func() {
for x := 0; x <= 10; x++ {
naturals <- x
}
close(naturals) // Важно закрыть канал!
}()

// Горутина-обработчик
go func() {
for x := range naturals {
squares <- x * x
}
close(squares) // Важно закрыть канал!
}()

// Чтение результатов
for res := range squares {
fmt.Println(res)
}
}


Пояснение:
1️⃣ Создаем 2 канала: для исходных чисел и результатов
2️⃣ Первая горутина пишет числа 0-10 в naturals и закрывает канал
3️⃣ Вторая горутина читает из naturals, вычисляет квадраты и пишет в squares
4️⃣ Главная горутина выводит результаты
6️⃣ Закрытие каналов предотвращает deadlock

@golang_interview

BY Golang вопросы собеседований


Share with your friend now:
tgoop.com/golang_interview/1261

View MORE
Open in Telegram


Telegram News

Date: |

Invite up to 200 users from your contacts to join your channel Telegram Channels requirements & features Telegram offers a powerful toolset that allows businesses to create and manage channels, groups, and bots to broadcast messages, engage in conversations, and offer reliable customer support via bots. You can invite up to 200 people from your contacts to join your channel as the next step. Select the users you want to add and click “Invite.” You can skip this step altogether. 2How to set up a Telegram channel? (A step-by-step tutorial)
from us


Telegram Golang вопросы собеседований
FROM American