【golang自学之路(一)】如何通过go modules进行导包

本文讲述了在使用GolangORM框架gorm时遇到的go.mod文件丢失问题,解决步骤包括创建go.mod文件、下载依赖包并确保正确配置,最后成功实现数据库自动迁移。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录


问题

在这里插入图片描述

在学习完golang简单语法之后,开始接触go的orm(object relational mapping)框架。在使用框架时候出现报错。

代码如下:

package main

import (
	"github.com/jinzhu/gorm"
	_ "github.com/jinzhu/gorm/dialects/mysql"
)

// UserInfo 用户信息
type UserInfo struct {
	ID     uint
	Name   string
	Gender string
	Hobby  string
}

func main() {
	db, err := gorm.Open("mysql", "****:****@(localhost)/db1?charset=utf8mb4&parseTime=True&loc=Local")
	if err != nil {
		panic(err)
	}
	defer db.Close()

	// 自动迁移
	db.AutoMigrate(&UserInfo{})
}

报错信息如下:

PS D:\work> go build -o server main.go server.go
no required module provides package main.go: go.mod file not found in current directory or any parent directory; see 'go help modules'
no required module provides package server.go: go.mod file not found in current directory or any parent directory; see 'go help modules'

解决


日志错误表明,尝试运行一个Go程序(orm_test1.go),它依赖于github.com/jinzhu/gorm和github.com/jinzhu/gorm/dialects/mysql这两个包,但是在当前目录或其任何父目录中都没有找到go.mod文件。go.mod文件是Go Modules的核心,用于定义项目依赖的包和版本。

所以我们需要4步就能解决一下问题:

1.go mod init 生成 go.mod 文件

D:\work\newGolangData\gorm> go mod init .\orm_test1.go

运行日志:
在这里插入图片描述

2.下载依赖包

go get -u github.com/jinzhu/gorm  
go get -u github.com/jinzhu/gorm/dialects/mysql
//-u标志表示更新到最新版本

初始化完成后,Go会创建一个go.mod文件。接下来,你可以使用go get命令来下载你需要的依赖包

运行日志:
在这里插入图片描述
这个运行结果是密码错误的意思

3.重新运行go文件

go run orm_test1.go

在这里插入图片描述
成功 gorm自动迁移(根据结构体自动创建数据库表)
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值