go函数的包选择错误

时间:2017-10-09 04:06:55

标签: go server package

我正在从书中学到如何添加几行代码,但它会引发错误

package main

import (
   "./lissajous"
   "log"
   "net/http" 
)

func main() {

   handler := func(w http.ResponseWriter, r *http.Request) {
        lissajous(w)
   }
   http.HandleFunc("/", handler) // each request calls handler
   log.Fatal(http.ListenAndServe("localhost:8000", nil))
}

它会抛出此错误

./server.go:6: imported and not used:
"_/home/zach/Dropbox/Personal/Go_Programming
         /The_Go_Programming_Language/ch01/web/lissajous"
./server.go:14: use of package lissajous without selector
我认为包目录是正确的,但似乎无法调用函数,为处理程序设置就像书中那样我错过了什么?

任何帮助表示赞赏?

1 个答案:

答案 0 :(得分:0)

以下是两件事:

  • Go不允许使用未使用的导入 - 如果您导入模块,则应使用它,或暂时注释掉

  • 建议使用另一种自定义模块创建和导入方式。想想,一旦你将它发布并将其视为已经发布。为github.com/login/repo/super-package/package选择一个唯一的网址。但是,如果您现在没有义务在开源或私人回购中发布它。建议在您的系统中保持这样。如果您愿意,可以更轻松地与同事共享并可能发布。