2013-08-16 54 views
5

我想使用 「http」 包,並嘗試以下已導入但未定義?去

% go run httpget.go 
# command-line-arguments 
./httpget.go:4: imported and not used: "http" 
./httpget.go:8: undefined: http 

我看到這個問題導入

package main 

import (
    "http" 
) 

func main() { 
    resp, err := http.Get("https://api.github.com/repos/otiai10/myFirstGo") 
    if err != nil { 
     // do something 
    } 
    if resp != nil { 
     // do something 
    } 
} 

,並得到輸出:Strange golang package import issue

這是同樣的問題?或者我是否以錯誤的方式使用「導入」或「http」?

回答

13

要導入的包名爲"net/http",而不是"http"。試試:

import (
    "net/http" 
) 
+0

它的工作原理!非常感謝(弓)! – otiai10

+0

('-').. oO(但是,它似乎很奇怪,它說'導入和不使用:'http''...「不能導入'http'」我認爲更好。不是嗎? – otiai10

+3

在1.1.2版本中,運行您的示例代碼會產生不同的(更好的)錯誤: 'httpget.go:4:2:在以下任一位置找不到軟件包「http」:/ usr/local/go/src/pkg/http(來自$ GOROOT)/ home/username/src/go/src/http(來自$ GOPATH)' – naelyn