在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ GO/ 高級(jí)應(yīng)用
面向?qū)ο?/span>
Go 語言簡(jiǎn)介
網(wǎng)頁下載
聊天室的開發(fā)
image 網(wǎng)站開發(fā)
基本語法
高級(jí)應(yīng)用

高級(jí)應(yīng)用

其實(shí)有了上一篇的基本語法,我們就可以做一些簡(jiǎn)單的事情,比如說文件服務(wù)器?;蛟S大家有點(diǎn)不相信,沒關(guān)系。下面開始用代碼來說明問題,其實(shí)整個(gè)代碼的內(nèi)容不會(huì)超過十行。

package main  

import "net/http"  

func main() {  

        h := http.FileServer(http.Dir("/home"))  
        http.ListenAndServe(":8888", h)  

}  

有了上面的代碼,直接輸入 go run share.go。說了這么多,大家可以繼續(xù)看 go 語言下的高級(jí)應(yīng)用是怎么使用的。

(1)并發(fā)運(yùn)行

package main  

import "fmt"  
import "time"  

func show() {  

        for {  
                fmt.Print("child ");  
                time.Sleep(10000)  
        }  
}  

func main() {  

        go show()  

        for {  
                fmt.Print("parent ")  
                time.Sleep(10000)  
        }  
}  

(2)channel 通信

package main  

import "fmt"  

func show(c chan int) {  

        for {  

                data := <- c  

                if 1 == data {  

                        fmt.Print("receive ")  
                }  

        }  
}  

func main() {  

        c := make(chan int)  

        go show(c)  

        for {  

                c <- 1  
                fmt.Print("send ")  
        }  
}  

(3) 多 channel 訪問

package main  

import "fmt"  
import "time"  

func fibonacci(c, quit chan int) {  

        x, y := 1, 1  

        for {  
                select {  

                        case c <- x:  
                                x, y = y, x+y  

                        case <- quit:  
                                fmt.Println("quit")  
                                return  

                }  
        }  
}  

func show(c, quit chan int) {  

        for i := 0; i < 10; i ++ {  

                fmt.Println(<- c)  
        }  

        quit <- 0  

}  

func main() {  

        data := make(chan int)  
        leave := make(chan int)  

        go show(data, leave)  
        go fibonacci(data, leave)  

        for {  

                time.Sleep(100)  
        }  

}  
上一篇:聊天室的開發(fā)下一篇:基本語法