crm开发定制Go初学者坑记之 go mod init 和自定义包的使用

crm开发定制入门很容易的 hello world, crm开发定制到使用自定义包算一个小的进步,然而在使用上竟然浪费了不少时间,上网查了半天,才解决问题.

第一明确 是哪种方式,是go mod 方式 还是 go path 方式, 请自己查一下,本小文直说go mog 方式的小问题.

首先看一下 文档结构

我自己写了个 ToolKit.go, 内容大致如下:
问题是:怎么引用它

//for all kind of toolspackage Toolkitimport (	"net/http"	"strings")func Left(str string, cnt int) string {	l := strings.Count(str, "")	if cnt >= l {		cnt = l - 1	} else if l < 0 {		l = 0	}	return str[0:cnt]}...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

引用方式各种出错,举例如下:

package mainimport (	"testing"	"ToolKit")
  • 1
  • 2
  • 3
  • 4
  • 5

或者:

package mainimport (	"testing"	"./ToolKit")
  • 1
  • 2
  • 3
  • 4
  • 5

或者

package mainimport (	"testing"	"/usr/local/src/go/iot_watcher/ToolKit")
  • 1
  • 2
  • 3
  • 4
  • 5

我能想到的方法都用到了,还是不行.

下面直接给出解决方案吧
查看 go.mod,内容如下

module iot_watcher.comgo 1.17
  • 1
  • 2
  • 3

OK, 把 module 后面那个东西考下来, 写成这样

ackage mainimport (	"testing"	"iot_watcher.com/ToolKit")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

就没问题了.
为了方便,写成别名引用方式

package mainimport (	"testing"		ToolKit "iot_watcher.com/ToolKit")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

补充: 终于明白 go mod init anyName.com
这个anyName.com 东西的用途了(一点儿用途)

说实话, 我最讨厌这种几乎一点儿含金量都没有的系统配置了. 从微软的MFC 到go , 真是无奈.浪费大量时间.

maraSun 2021-12-7 BJFWDQ

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发