go錯誤總結

2021-09-24 04:45:27 字數 3481 閱讀 2110

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 install5、建立的鏈結,使用完要關閉

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型別的方式通常是,在函式宣告結果列表的最後,宣告乙個該型別的結果。同時在呼...