Go初学者坑记之 go mod init 和自定义包的使用
入门很容易的 hello world, 到使用自定义包算一个小的进步,然而在使用上竟然浪费了不少时间,上网查了半天,才解决问题.
第一明确 是哪种方式,是go mod 方式 还是 go path 方式, 请自己查一下,本小文直说go mog 方式的小问题.
首先看一下 文档结构
我自己写了个 ToolKit.go, 内容大致如下:
问题是:怎么引用它
//for all kind of tools
package 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]
}
...
引用方式各种出错,举例如下:
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.comgo 1.17
OK, 把 module 后面那个东西考下来, 写成这样
ackage mainimport ("testing""iot_watcher.com/ToolKit"
)
就没问题了.
为了方便,写成别名引用方式
package mainimport ("testing"ToolKit "iot_watcher.com/ToolKit"
)
补充: 终于明白 go mod init anyName.com
这个anyName.com 东西的用途了(一点儿用途)
说实话, 我最讨厌这种几乎一点儿含金量都没有的系统配置了. 从微软的MFC 到go , 真是无奈.浪费大量时间.
maraSun 2021-12-7 BJFWDQ
Go初学者坑记之 go mod init 和自定义包的使用相关推荐
- 东八区转为0时区_踩坑记 | Flink 天级别窗口中存在的时区问题
❝ 本系列每篇文章都是从一些实际的 case 出发,分析一些生产环境中经常会遇到的问题,抛砖引玉,以帮助小伙伴们解决一些实际问题.本文介绍 Flink 时间以及时区问题,分析了在天级别的窗口时会遇到的 ...
- m3u8 video ios h5_移动端H5页面踩坑记
移动端H5页面踩坑记 移动端的样式问题 「1. 安卓 font-weight:700;以上才被认为是加粗.」 「2. border 在 1px 以内是不被安卓识别的一些 0.5px 的下划线怎么搞?」 ...
- 小小甜菜深度学习爬坑记
小小甜菜深度学习爬坑记 主要目的是整理一路学习的技术分享贴.我的电脑是笔记本联想拯救者R720,显卡是GTX1050Ti.其它环境仅供参考. 安装ubuntu+win10双系统 详情见技术贴用 Eas ...
- 小小甜菜百度AI爬坑记
小小甜菜百度AI爬坑记 作为国内较好的深度学习平台,我是在2018百度开发者大会拉入坑的.其可分为语音识别,语音合成,文字识别,图像识别,人体分析,人脸识别,理解与互交技术,AR增强现实等多个方向.我 ...
- 共享内存 - shmget填坑记
shmget设置的size值,不能大于最大值SHMMAX和小于最小值SHMMIN 且若是key值对应的段已经存在,那么后来使用shmget的size值要小于等于原来的值函 而后询问了一下那位程序猿,他 ...
- python从入门到实践django看不懂_Python编程:从入门到实践踩坑记 Django
<>踩坑记 Django Django Python 19.1.1.5 模板new_topic 做完书上的步骤后,对主题添加页面经行测试,但是浏览器显示 服务器异常. 个人采用的开发环境是 ...
- Java web 开发填坑记 2 -如何正确的创建一个Java Web 项目
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/72566261 本文出自[赵彦军的博客] Java web 开发填坑记 1-如何正确 ...
- Spring @Transactional踩坑记
@Transactional踩坑记 总述 Spring在1.2引入@Transactional注解, 该注解的引入使得我们可以简单地通过在方法或者类上添加@Transactional注解,实现事务 ...
- 服务器重新部署踩坑记
服务器重新部署踩坑记 Intro 之前的服务器是 Ubuntu 18.04 ,上周周末想升级一下服务器系统,从 18.04 升级到 20.04,结果升级升挂了... 后来 SSH 始终连不上,索性删除 ...
最新文章
- 内核中用于数据接收的结构体struct msghdr
- 客房收费系统数据库设计
- java.lang.NumberFormatException: null
- linux apache php.ini,Linux Apache的.htaccess控制php.ini 与MIME类型
- redis的set集合
- utf8汉字编码对照表
- 零基础程序员如何自学编程
- xy转经纬 经纬转xy 各种坐标系
- python 爬取网上数据Crawler data(1.漫画)
- win7安装程序无法配置计算机,windows安装程序无法将windows配置在此计算机的硬件上运行的解决方法...
- 如何限制IP访问你的网站?
- new String[0]的作用
- Linux中级实战专题篇:LVS负载均衡集群部署
- 【MySql】MySql事务隔离级别
- C语言 atoi 函数解析
- 华为管理学案例分析_华为创新管理案例分析 创新管理,成就卓越
- 日语零基础入门至初级“三步走”
- 三步搞定ISO/GHO安装系统 - imsoft.cnblogs
- 三星p1000升级android10,本是同根生 三星P1000/P1010对比图赏
- U 盘全新安装 Mac OS X 提示【这个“安装 OS X ……”应用程序副本不能验证】的解决方法