Middle+
Aký pipeline?
sobes.tech AI
Odpoveď od AI
Pipeline (potrubie) je sekvenca korakov za obradu података или задатака, где излаз једног корака служи као улаз за следећи. У програмирању и системима за обраду података, pipeline-ји помажу у структурирању сложених процеса и обезбеђују ток података.
У Go-у, често се користи образац pipeline за организовање тока обраде помоћу goroutine-ја и канала. На пример, подаци пролазе кроз више фаза обраде паралелно, што повећава перформансе и читљивост кода.
Пример једноставног pipeline-а у Go-у:
func gen(nums ...int) <-chan int {
out := make(chan int)
go func() {
for _, n := range nums {
out <- n
}
close(out)
}()
return out
}
func sq(in <-chan int) <-chan int {
out := make(chan int)
go func() {
for n := range in {
out <- n * n
}
close(out)
}()
return out
}
func main() {
c := gen(2, 3, 4)
out := sq(c)
for n := range out {
fmt.Println(n)
}
}
Овде, подаци пролазе кроз две фазе: генерисање бројева и квадрирање.