1. 程式人生 > >奇妙的go語言(開始篇)

奇妙的go語言(開始篇)

使用 turn row list strong input put content nds


【 聲明:版權全部。歡迎轉載,請勿用於商業用途。 聯系信箱:feixiaoxing @163.com】


從前接觸腳本語言不多,可是自從遇到go之後,就開始慢慢喜歡上了這個腳本語言。go語言是google設計,主要用來從事web、server側程序的開發,學習起點低。

一般熟練掌握C、python的朋友花上幾個小時就能夠學會go語言。


a) 安裝環境


鑒於個人主要使用linux進行工作,所以這裏介紹的都是linux下的安裝方式。

centos: sudo yum install golang

ubuntu: sudo apt-get install golang


b) 學習資源


本來學習go語言,最好的學習環境應該是官方站點,可是因為GFW的原因,訪問上還是有一定的困難。所以,建議大家能夠訪問一下coolshell.cn站點,上面有go語言的內容,各自是個go語言(上)、go語言(下)。


c) 書籍


不管是亞馬遜、當當還是京東上面,關於go語言的書籍不是非常多。可是有兩本我認為還是不錯的,一本是謝孟軍的《go web編程》,另外一本是許式偉的《go 語言編程》。


d) 編譯方法


假設須要生成運行文件,輸入go build name.go, 當中name.go表示你須要編譯的那個文件名稱,這時會有一個運行文件生成。

假設你須要馬上看到效果。輸入go run name.go就可以。


e)範例

e.1 add.go

package main

import "fmt"

func add(a int, b int)(c int) {

        c =  a + b
        return c
}


func main() {

        c := add(1 ,2)
        fmt.Println(c)

}

直接輸入go run add.go就能夠打印效果了。



e.2 簡單webserver

package main

import (
        "fmt"
        "net/http"
)


func sayHelloName(w http.ResponseWriter, r *http.Request) {

        fmt.Fprintf(w, "hello, world")
}

func main() {

        http.HandleFunc("/", sayHelloName)
        http.ListenAndServe(":9090", nil)

}

這時一個簡單的webserver,首先go run hello.go之後。打開os下的一個browser,輸入http://127.0.0.1:9090,你就會在網頁上看到web的打印了。


e.3 帶有表單處理的webserver

package main

import (

        "fmt"
        "html/template"
        "net/http"
)

func sayHelloName(w http.ResponseWriter, r* http.Request) {

        fmt.Fprintf(w, "hello, world")
}


func login(w http.ResponseWriter, r* http.Request) {

        if r.Method == "GET" {

                t, _ := template.ParseFiles("login.gtpl");
                t.Execute(w, nil)
        } else {

                r.ParseForm()
                fmt.Println("username:", r.Form["username"])
                fmt.Println("password", r.Form["password"])

        }

}


func main() {

        http.HandleFunc("/", sayHelloName)
        http.HandleFunc("/login", login)
        http.ListenAndServe(":9090", nil)
}

上面給出的僅僅是代碼內容,你還須要一個login.gtpl模板文件,


<html>
<head>
<title> </title>
</head>

<body>
<form action="http://127.0.0.1:9090/login" method="post">
        user: <input type="text" name ="username">
        pass: <input type="password" name="password">
        <input type="submit" value="login">
</form>
</body>
</html>

運行go代碼之後。試著在瀏覽器下輸入127.0.0.1:9090和127.0.0.1:9090/login,你會有不同的驚喜。




奇妙的go語言(開始篇)