第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

搭建并行處理管道,感受GO語言魅力

難度中級
時(shí)長 2小時(shí)17分
學(xué)習(xí)人數(shù)
綜合評分9.67
51人評價(jià) 查看評價(jià)
9.9 內(nèi)容實(shí)用
9.5 簡潔易懂
9.6 邏輯清晰
  • func?ReadSource(reader?io.Reader)?<-chan?int?{
    ???out?:=?make(chan?int)
    ???go?func()?{
    ??????buffer?:=?make([]byte,?8)
    ??????for??{
    ?????????n,?err?:=?reader.Read(buffer)
    ?????????if?n?>?0?{
    ????????????v?:=?int(binary.BigEndian.Uint64(buffer))
    ????????????out?<-?v
    ?????????}
    ?????????if?err?!=?nil?{
    ????????????break
    ?????????}
    ??????}
    ??????close(out)
    ???}()
    ???return?out
    }
    
    func?WriteSink(writer?io.Writer,?in?<-chan?int)??{
    ???for?v?:=?range?in?{
    ??????buffer?:=?make([]byte,?8)
    ??????binary.BigEndian.PutUint64(buffer,?uint64(v))
    ??????writer.Write(buffer)
    ???}
    }
    
    func?RandomSource(count?int)?<-chan?int{
    ???out?:=?make(chan?int)
    ???go?func()?{
    ??????for?i?:=?0;?i?<?count;?i++?{
    ?????????out?<-?rand.Int()
    ??????}
    ??????close(out)
    ???}()
    ???return?out
    }
    func?main()?{
    ???const?filename?=?"large.in"
    ???const?n?=?100000000
    ???file,?err?:=?os.Create(filename)
    ???if?err?!=?nil?{
    ??????panic(err)
    ???}
    ???defer?file.Close()
    
    ???p?:=?pipeline.RandomSource(n)
    ???writer?:=?bufio.NewWriter(file)
    ???pipeline.WriteSink(writer,?p)
    ???writer.Flush()
    
    ???file,?err?=?os.Open(filename)
    ???if?err?!=?nil?{
    ??????panic(err)
    ???}
    ???defer?file.Close()
    
    ???p?=?pipeline.ReadSource(bufio.NewReader(file))
    ???count?:=?0
    ???for?v?:=?range?p?{
    ??????fmt.Println(v)
    ??????count++
    ??????if?count?>=?100?{
    ?????????break
    ??????}
    ???}
    }


    查看全部
    2 采集 收起 來源:文件讀寫

    2020-07-26

  • package?pipeline
    
    import?(
    ???"encoding/binary"
    ???"io"
    ???"sort"
    )
    
    func??ArraySource(a?...int)?<-chan?int?{
    ???out?:=?make(chan?int)
    ???go?func()?{
    ??????for?_,?v?:=?range?a{
    ?????????out?<-?v
    ??????}
    ??????close(out)
    ???}()
    ???return?out
    }
    
    func?InMemSort(in?<-chan?int)?<-chan?int?{
    ???out?:=?make(chan?int)
    ???go?func()?{
    ??????//?Read?into?memory
    ??????var?a?[]int
    ??????for?v?:=?range?in?{
    ?????????a?=?append(a,?v)
    ??????}
    
    ??????//?Sort
    ??????sort.Ints(a)
    
    ??????//?Output
    ??????for?_,?v?:=?range?a?{
    ?????????out?<-?v
    ??????}
    ??????close(out)
    ???}()
    ???return?out
    }
    
    func?Merge(in1,?in2?<-chan?int)?<-chan?int?{
    ???out?:=?make(chan?int)
    ???go?func()?{
    ??????v1,?ok1?:=?<-in1
    ??????v2,?ok2?:=?<-in2
    ??????for?ok1?||?ok2?{
    ?????????if?!ok2?||?(ok1?&&?v1?<=?v2)?{
    ????????????out?<-?v1
    ????????????v1,?ok1?=?<-in1
    ?????????}?else?{
    ????????????out?<-?v2
    ????????????v2,?ok2?=?<-in2
    ?????????}
    ??????}
    ??????close(out)
    ???}()
    ???return?out
    }
    package?main
    
    import?(
    ???"ccmouse/gointro/pipeline"
    ???"fmt"
    )
    
    func?main()?{
    ???p?:=?pipeline.Merge(
    ??????pipeline.InMemSort(
    ?????????pipeline.ArraySource(3,?2,?6,?7,?4)),
    ??????pipeline.InMemSort(
    ?????????pipeline.ArraySource(7,?4,?0,?3,?2,?13,?8)))
    ???for?v?:=?range?p?{
    ??????fmt.Println(v)
    ???}
    }


    查看全部
  • 一些節(jié)點(diǎn)

    • 數(shù)組數(shù)據(jù)源節(jié)點(diǎn)- channel 的關(guān)閉及檢測

    • 內(nèi)部排序節(jié)點(diǎn)

    • 歸并節(jié)點(diǎn)


    查看全部
  • 外部排序 Pipeline

    查看全部
    0 采集 收起 來源:歸并排序算法

    2022-07-23

  • 節(jié)點(diǎn)的組裝

    查看全部
    0 采集 收起 來源:歸并排序算法

    2022-07-23

  • 節(jié)點(diǎn)多輸入和多輸出

    查看全部
    0 采集 收起 來源:歸并排序算法

    2022-07-23

  • Pipeline

    查看全部
    0 采集 收起 來源:歸并排序算法

    2022-07-23

  • 外部排序歸并節(jié)點(diǎn)

    查看全部
    0 采集 收起 來源:歸并排序算法

    2022-07-23

  • 外部排序切分

    查看全部
    0 采集 收起 來源:歸并排序算法

    2022-07-23

  • 將數(shù)據(jù)分為左右兩半,分別歸并排序,再把兩個(gè)有序數(shù)據(jù)歸并

    如何歸并:

    • [1, 3, 6, 7], [1, 2, 3, 5] → 1

    • [3, 6, 7],[1, 2, 3, 5] ? → 1

    • [3, 6, 7], [2, 3, 5] ? ? ? ?→ 2

    • [3,6,7],[3, 5] ? ? ? ? ? ?→?3

    • ……


    查看全部
    0 采集 收起 來源:歸并排序算法

    2020-07-26

  • package?main
    
    import?(
    ???"fmt"
    ???"sort"
    )
    
    func?main()?{
    ???//?create?a?slice?of?int
    ???a?:=?[]int{3,?6,?2,?1,?9,?10,8}
    ???sort.Ints(a)
    
    ???for?_,?v?:=?range?a?{
    ??????fmt.Println(v)
    ???}
    }


    查看全部
  • package?main
    
    import?(
    ???"fmt"
    )
    
    func?main()?{
    ???ch?:=?make(chan?string)
    
    ???for?i:=0;?i?<?5000;?i++?{
    ??????//?go?starts?a?goroutine
    ??????go?printHelloWorld(i,?ch)
    ???}
    
    ???for??{
    ??????msg?:=?<-?ch
    ??????fmt.Println(msg)
    ???}
    }
    
    func?printHelloWorld(i?int,?ch?chan?string)?{
    ???for??{
    ??????ch?<-?fmt.Sprintf("Hello?world?from?go?routine?%d!\n",?i)
    ???}
    }


    查看全部
  • package?main
    
    import?(
    ???"fmt"
    ???"net/http"
    )
    
    func?main()?{
    ???http.HandleFunc("/",?func(writer?http.ResponseWriter,?request?*http.Request)?{
    ??????fmt.Fprintf(writer,?"<h1>Hello?World?%s!<h1>",?request.FormValue("name"))
    ???})
    
    ???http.ListenAndServe(":8888",?nil)
    }


    查看全部
  • Hello World

    • 普通 Hello World

    • Hello World Server - 讀取 url 中的參數(shù)

    • 并發(fā) Hello World - 初識(shí) goroutine 與 channel

    • 一個(gè)簡單的排序


    查看全部
  • Hello World

    • 普通 Hello World

    • Hello World Server - 讀取 url 中的參數(shù)


    查看全部

舉報(bào)

0/150
提交
取消
課程須知
1、了解一門編程語言,對基本算法如排序有了解
老師告訴你能學(xué)到什么?
1、go語言的歷史和設(shè)計(jì)初衷 2、go語言的安裝與開發(fā)環(huán)境 3、簡單的go語言程序 4、了解go語言并發(fā)編程 5、實(shí)現(xiàn)一個(gè)并行數(shù)據(jù)處理管道

微信掃碼,參與3人拼團(tuán)

微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!