這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
http://github.com/hoisie/web
git clone http://github.com/hoisie/web
然後執行編譯安裝
cd web && go build
server.go:7:2: cannot find package "golang.org/x/net/websocket" in any of:
/usr/local/go/src/golang.org/x/net/websocket (from $GOROOT)
($GOPATH not set)
bash-3.2# echo $GOPATH
bash-3.2# go get golang.org/x/net/websocket
如果你沒有遇到類似的錯誤資訊,可以跳過
(
cannot find package "golang.org/x/net/websocket" in any of:
)
bash-3.2# go build
bash-3.2# ls
根據目前的理解,應該是gopath是存放非核心的go lib的,而goroot是關於go以及runtime的目錄
===先跑一個demo看看
package main
import (
"github.com/hoisie/web"
)
func hello(val string) string { return "hello " + val }
func main() {
web.Get("/(.*)", hello)
web.Run("0.0.0.0:9999")
}
我感覺這段兩次的介紹在開發架構、營運架構、技術架構、團隊能力模型、業務轉型等方面進行了非常好的整體的重新規劃和定義,客戶導向、端到端的微觀數字化管理、迭代演化等理念都非常先進正確。
go run hello.go
"
hello.go:4:5: cannot find package "github.com/hoisie/web" in any of:
/usr/local/go/src/github.com/hoisie/web (from $GOROOT)
"
go get github.com/hoisie/web
gopath的目錄下會增加檔案
通過 go get擷取library 即擷取的lib
func main() {
web.Get("/(.*)", hello)
web.Run("0.0.0.0:9999")
}
http://localhost:9999/third
這個third就會作為參數 hello函數的,而web.Get("/(.*)", hello),表示任何format 的url 多是由hello處理