2.软文推荐
3.软文推荐
go mod是go的一个模块管理工具,用来代替传统的GOPATH方案,下面这篇文章主要给大家介绍了关于Go初学者踩坑之go mod init与自定义包的使用,需要的朋友可以参考下
前言
入门很容易的 hello world, 到使用自定义包算一个小的进步,然而在使用上竟然浪费了不少时间,上网查了半天,才解决问题.
第一明确 是哪种方式,是go mod 方式 还是 go path 方式, 请自己查一下,本小文直说go mog 方式的小问题.
首先看一下 文档结构我自己写了个 ToolKit.go, 内容大致如下:
问题是:怎么引用它
//for all kind of tools
package Toolkit
import (
"net/http"
"strings"
)
func Left(str string, cnt int) string {
l := strings.Count(str, "")
if cnt >= l {
cnt = l - 1
} else if l return str[0:cnt]
}
...
引用方式各种出错,举例如下:
package main
import (
"testing"
"ToolKit"
)
或者:
package main
import (
"testing"
"./ToolKit"
)
或者
package main
import (
"testing"
"/usr/local/src/go/iot_watcher/ToolKit"
)
我能想到的方法都用到了,还是不行.
下面直接给出解决方案吧查看 go.mod,内容如下
module iot_watcher.com
go 1.17
OK, 把 module 后面那个东西考下来, 写成这样
ackage main
import (
"testing"
"iot_watcher.com/ToolKit"
)
就没问题了.
为了方便,写成别名引用方式
package main
import (
"testing"
ToolKit "iot_watcher.com/ToolKit"
)
补充: 终于明白 go mod init anyName.com
这个anyName.com 东西的用途了(一点儿用途)
说实话, 我最讨厌这种几乎一点儿含金量都没有的系统配置了. 从微软的MFC 到go , 真是无奈.浪费大量时间.
补充:go mod init出错go mod init出错,错误提示如下:
go: cannot determine module path for source directory D:workspacego (outside GOPATH, no import comments)
解决办法:添加模块名参数
go mod init module_name
例如,在test目录下,即test模块,就用
go mod init test
本文来源:www.lxlinux.net/12287.html,若引用不当,请联系修改。
1
先来一张美图 1 zsh 介绍 1.1 Linux shell Linux/Unix 提供了很多种 Shell,为毛要这么多 Shell? 难道用来炒着吃么?那我问你,你同类型的衣服怎么...