go语言导入自定义模块(使用go.mod)

Go语言管理项目的依赖关系和模块最开始使用的 GOROOTGOPATH 分别设置Go的安装路径和项目路径,现在版本的Golang极力推荐使用 go.mod go.work ,go.mod是Go 1.11版本中引入的一种包管理机制,主要用于管理和版本控制Go项目中使用的依赖项,go.work文件是Go 1.18版本引入,主要用于解决在同一工作空间中处理多个模块的问题。

先新建一个项目文件夹,然后进入文件夹:

复制代码
cd C:\GGboy\Gay

mkdir HappyGay

cd HappyGay

在项目根目录下运行以下命令来初始化模块

复制代码
go mod init GayBoy # init后是自定义的项目名

初始化模块成功后会显示以下内容并生成 go.mod 文件

新建一个文件夹 Say ,然后在文件夹内新建 Hello.go 文件

Go 复制代码
// Hello.go

package Say // 和JVAV一样,package后是文件夹名称

import "fmt"

// 函数首字母需要大写,方便后续导入
func Hello() {
	fmt.Println("Hello, World!")
}

在新建一个 main 文件夹,在文件夹中新建main.go文件

Go 复制代码
// main.go

package main

import "GayBoy/Say" 
// GayBoy是自己在初始化模块后的go.mod文件中自己定义的项目名称

func main() {
	Say.Hello()
}

总体结构如下

cd到main包后在终端输入命令运行程序

Go 复制代码
go run main.go

输入以下命令即可构建可运行的.exe文件

Go 复制代码
go build main.go
相关推荐
葫芦和十三1 天前
图解 MongoDB 05|文档模型设计:内嵌 vs 引用,反范式不是免费午餐
后端·mongodb·agent
不能放弃治疗1 天前
单 Agent 实现模式
后端
IT_陈寒1 天前
Redis内存爆了,原来我漏掉了这个致命配置
前端·人工智能·后端
fliter1 天前
最后一块拼图:用 bitvec 构造 IPv4 包,真正做出自己的 Ping
后端
fliter1 天前
用 Rust 解析并生成 ICMP 包:checksum、nom 与 cookie-factory
后端
蝎子莱莱爱打怪1 天前
XZLL-IM干货系列 03|消息 ID 设计:一个 UUID 搞不定的事,我用两个 ID 解决了
后端·面试·开源
fliter1 天前
从 panic 到 Result:用 Rust 重新整理一个 ping 项目的错误处理
后端
森蓝情丶1 天前
我给 AI 搭了个法庭:一个前端仔的 LangGraph 实战全记录
前端·后端
JensCS猿1 天前
从 Spring Boot 回看 SSM 框架:手动挡与自动挡的驾驶哲学
后端
爱勇宝1 天前
干了近 8 年,一夜之间被裁:AI 时代,程序员最该害怕的不是 AI
前端·后端·程序员