2016-12-01 51 views
0

爲什麼我得到此代碼的編譯錯誤?響應類型是在 「網/ HTTP」新手編譯錯誤淨/ http響應

package main 
import "net/http" 
func main() { 
} 
func GetWithProxy(urlString string, proxyString string) (resp *Response, err error) { 
    return nil, nil 
} 

錯誤定義:

.\t.go:3: imported and not used: "net/http" 
.\t.go:7: undefined: Response 

回答

1

它的抱怨,你沒有使用net/http,你沒有。

package main 

import "net/http" 

func GetWithProxy(urlString string, proxyString string) (resp *http.Response, err error) { 
     return nil, nil 
} 

func main() { 
} 

這會編譯,因爲現在你正在使用net/http。編譯器不知道你在說什麼net/http'sResponse類型。

如果你想 '吸收' net/http's命名空間,你可以這樣做:

package main 
import . "net/http" 

func GetWithProxy(urlString string, proxyString string) (resp *Response, err error) { 
    return nil, nil 
} 

func main() { 
} 

觀察: https://play.golang.org/p/WH1NSzFhSV

+0

謝謝!在保持可執行文件大小很小或者兩者相同的情況下,第一種選擇更好? – user2443447

+1

這兩種解決方案的二進制大小都是相同的,但在我看來,第一種更適合可讀性。 – saarrrr

+3

請不要推薦點導入。 – Volker