1、go get -v 出現問題
例如:can't load package: package .: no go files in c:\users\nick
無法載入包:package :無可構建go原始檔
解決辦法
1、
我必須指定乙個更具體的子包來安裝。
錯誤: go get github.com/garyburd/redigo
正確: go get github.com/garyburd/redigo/redis
2、
也可能說此命令不在此目錄下。
2、引入庫報錯
例如:
解決辦法
需要翻牆或者找到網速快的地方進行拉取依賴
3、安裝依賴庫然後通過命令進行安裝
4、go build、go install與go get 有什麼區別go build:在當前目錄下生成可執行檔案,注意:go build指令會呼叫所有引用包的原始碼,重新編譯,而不是直接使用pkg裡的編譯後的檔案,如果在$goroot或者$gopath下沒有找到import引入的專案原始碼,就會報錯。
go install:編譯源**,如果為可執行檔案(package "main"且包含main方法),則會編譯生成可執行檔案到$gopath\bin目錄下,可執行檔案import引入其他包,就會被編譯到$gopath/pkg/$goos_$goarch目錄下。
go get:git clone到$gopath\src + go install
5、建立的鏈結,使用完要關閉
for
err = client.call(cometserviceping, args, &reply)
if err != nil
// 若不關閉, 請求達到一定數量,client將返回nil
client.close()
}
6、處理完map元素的任務,要刪掉該map的元素,避免重複處理
var nodemap map[string]*minlimit = make(map[string]*minlimit, 10)
for
7、"報錯
./main.go:3:6: missing function body for "main"
./main.go:4:1: syntax error: unexpected semicolon or newline before
8、import 但未使用: unused imports例如:
package main
import (
"fmt"
"os"
)func main()
報錯
./main.go:4:2: imported and not used: "fmt"
./main.go:5:2: imported and not used: "os"
解決辦法
package main
import (
"fmt"
_ "os"
)func main()
9、命名區分大小寫例如
package main
import "fmt"
func main()
報錯
./main.go:6:2: cannot refer to unexported name fmt.println
./main.go:6:2: undefined: fmt.println
解決辦法
package main
import "fmt"
func main()
// 以下**都是不正確的:
// package main
// import "fmt"
// import "fmt"
// func main() {}
// fmt.println
// fmt.println
參考:
參考:
Go語言錯誤總結(四)
22 內建的資料結構操作不是同步的 即使go本身有很多特性來支援併發,併發安全的資料集合並不是其中之一,確保資料集合以原子的方式更新是你的職責。goroutines和channels是實現這些原子操作的推薦方式,但你也可以使用 sync 包,如果它對你的應用有意義的話。23 string在 rang...
go語言錯誤型別
1.考慮的error的使用原因 error型別本身就是乙個預定義好的介面,裡面定義了乙個method type error inte ce 2如何完成error的第乙個簡單的呼叫,輸出的格式err fmt.errorf s error this is error func main fmt.prin...
Go 錯誤處理
error型別是乙個介面型別,也是乙個go語言的內建型別。在這個介面型別的宣告中只包含了乙個方法error。這個方法不接受任何引數,但是會返回乙個string型別的結果。它的作用是返回錯誤資訊的字串表示形象。我們使用error型別的方式通常是,在函式宣告結果列表的最後,宣告乙個該型別的結果。同時在呼...