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: |

Done! Now you’re the proud owner of a Telegram channel. The next step is to set up and customize your channel. There have been several contributions to the group with members posting voice notes of screaming, yelling, groaning, and wailing in different rhythms and pitches. Calling out the “degenerate” community or the crypto obsessives that engage in high-risk trading, Co-founder of NFT renting protocol Rentable World emiliano.eth shared this group on his Twitter. He wrote: “hey degen, are you stressed? Just let it out all out. Voice only tg channel for screaming”. A Hong Kong protester with a petrol bomb. File photo: Dylan Hollingsworth/HKFP. Each account can create up to 10 public channels Read now
from us


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