当前位置: 首页 > news >正文

Go小技巧易错点100例(二十三)

请在此添加图片描述

本期分享

1.Go Module控制Go版本

2.int转string注意事项

3.Go项目查看mod依赖关系


Go Module控制Go版本

当我们开发Go项目涉及到两台及以上的机器,而且它们又刚好是不同操作系统的时候,可能就要把代码挪到另一台机器上重新编译,此时两台机器刚好又不是同一个Go版本,比如你有一台Windows电脑和一台Linux电脑:

Windows电脑的Go版本是1.22,所以在这台机器上新建Go项目的时候go.mod文件中的go版本会默认是1.22,比如:

module xxx

go 1.22

不考虑交叉编译,此时你把代码挪到Linux上是Go的1.17版本,这个电脑又不能升级Go版本,此时就需要一条命令,把项目的Go版本改成当然操作系统支持的版本:

go mod edit -go=1.17

扩展:可以看下官方文档对go.mod的说明https://go.dev/ref/mod

int转string注意事项

在有些编程语言中int转string只用简单的转换就可以,但是在Go语言中就需要注意了,比如下面这段代码,猜一下会输出什么:

package main

import "fmt"

func main() {
   i := 12345
   fmt.Println(string(i))
}

答案是:

不可读的乱码,并不是我们期望的"12345"。

正确的转换需要这样搞:

package main

import (
	"fmt"
	"strconv"
)

func main() {
	i := 123
	t := strconv.Itoa(i)
	fmt.Println(t)
}

然后运行一下就输出了想要的字符串。

Go项目查看mod依赖关系

什么是mod依赖关系,就比如我们使用go get xxx命令将依赖添加到我们的项目,这个依赖可能会有其他依赖,从go.mod文件中应该可以看出,大多数情况下使用一次go get xxx命令,go.mod文件就会增加很多条依赖,那么如何理清这些依赖的关系,Go官方其实提供了命令:

go mod graph //打印模块依赖图

这样的话可以在控制台打印出项目的依赖关系,但是想要更清晰的查看整个项目的依赖关系,还有一个很好用的工具:github.com/bayraktugrul/modview

下面分享一下它的用法:

1)安装

go install github.com/bayraktugrul/modview@latest

2)到项目的根目录并运行:

modview

这将在当前目录中生成一个名为dependency_tree.html的文件。在 Web 浏览器中打开此文件以查看模块的依赖项关系图。

请在此添加图片描述

本篇结束~

相关文章:

  • DDR3模块、HDMI、晶振的布局原则
  • 51c视觉~CV~合集4
  • 白帽黑客系列教程之Windows驱动开发(64位环境)入门教程(七)
  • C++初阶——简单实现stack和queue
  • Linux运维——网络管理
  • 【AIGC】使用Python实现科大讯飞语音服务ASR转录功能:完整指南
  • ow rank decomposition如何用于矩阵的分解
  • 【CPP面经】大厂CPP后台开发面试经历
  • vue3:项目创建
  • Ollama部署与常用命令
  • C++初阶:C++入门基础
  • 什么是DrawCall?DrawCall为什么会影响游戏运行效率?如何减少DrawCall?
  • 如何将文件中的一部分段落整体删除
  • Grafana使用日志5--如何重置Grafana密码
  • 基于 sklearn 的均值偏移聚类算法的应用
  • [前端] 学习内容总结,css样式居中以及点击包裹a标签的容器元素也能触发a标签的点击事件
  • PyTorch 环境中 CUDA 版本冲突问题排查与解决
  • Linux相关知识(文件系统、目录树、权限管理)和Shell相关知识(字符串、数组)
  • Android 常用命令和工具解析之存储相关
  • 潜水泵,高效排水,守护城市与农田|深圳鼎跃
  • 中国石油建设工程协会网站/百度百科官网首页
  • 政府网站建设与网络安全培训/重庆seo优化
  • 公司网站的建设怎么做/深圳网络营销推广专员
  • 广州网站建设公司好吗/seo千享科技
  • 做企业网站织梦和wordpress哪个好/现在如何进行网上推广
  • dw做网站如何让用户可编辑/百度竞价外包