Go开发运维:Go项目工程化进行初始配置

2024-09-01 16:52

本文主要是介绍Go开发运维:Go项目工程化进行初始配置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、实验

1.环境

2.初始化Go项目

3.Go项目工程化

4. 导入Gin包

5.下载viper与logrus依赖

二、问题

1.Windows如何进行go的版本升级

2. Go mod常用命令

3.下载Gin依赖失败


一、实验

1.环境

(1)主机

表1 主机

系统

软件版本备注
Windows11VS Code1.92.2
go1.20.4

运行(输入cmd)

查看VS Code版本

Code --version

查看go版本

go version

2.初始化Go项目

(1) go env查看GOPATH

(2) 进入GOPATH目录下

C:\Gocode\src

(3)创建项目工程

创建project-devops

(4)VS Code打开工程

(5)右上角点击打开命令行

(6)初始化项目

go mod init project-devops

(7)查看当前目录

工程目录下自动生成了go.mod

(8)创建main.go

VS Code创建main.go文件,作为项目的总入口

3.Go项目工程化

(1)配置层

VS Code创建config目录及config.go文件,存放程序的配置信息

(2)配置层

VS Code创建routers目录及routers.go文件,管理程序的路由信息

(3)控制器层

VS Code创建controllers目录及controllers.go文件,实现路由的处理逻辑

(4)中间件层

VS Code创建middlewares目录及middlewares.go文件,配置路由的中间件

(5)模型层

VS Code创建models目录及models.go文件,实现数据的CRUD操作

CRUD操作:
1)create 添加数据
2)read   读取数据 
3)update 修改数据
4)delete 删除数据

(6)工具类层

VS Code创建utils目录及utils.go文件,作为工具类封装

4. 导入Gin包

(1)访问

https://pkg.go.dev/

(2) 搜索gin

点击进入

点击扩展

查看

import "github.com/gin-gonic/gin"

(3)config.go创建初始化函数 

func init() {println("Start加载程序配置!")
}

(4)main.go导入依赖与配置gin

import (_ "project-devops/config""github.com/gin-gonic/gin"
)func main() {r := gin.Default()r.Run()
}

(5)下载gin依赖

go get  github.com/gin-gonic/gin

(6)运行

go run .\main.go

打印了配置层初始化信息

5.下载viper与logrus依赖

(1)访问

https://pkg.go.dev/

(2) 搜索viper ( 用来处理程序配置)

点击进入

点击扩展

查看安装

(3)下载viper依赖

go get github.com/spf13/viper

 (4) 搜索logrus (用来处理程序日志)

点击进入

点击扩展

查看安装

(3)下载logrus依赖

go get github.com/sirupsen/logrus

(4)最后查看go.mod

相关依赖都已更新

二、问题

1.Windows如何进行go的版本升级

(1)访问官网

https://golang.google.cn/dl/

(2)查看历史版本

点击Show

选最对应版本下载

选择对应的Windows版本下载安装

https://golang.google.cn/dl/go1.20.4.windows-amd64.msi

(3)配置Go环境便变量

我的电脑-属性-高级系统设置

确认Go的系统变量

确认Go的用户变量

(4)查看配置的环境变量

cmd执行

go env

(5) VSCode 安装Go插件

搜索go 安装

安装Go 辅助工具,输入ctrl + shift + p

点击确定,等待安装

2. Go mod常用命令

(1)常用命令

1)go mod init
初始化模块,并在当前目录下创建go.mod文件2)go mod tidy 
清理未使用的依赖项,并更新go.mod文件3)go mod vender
将依赖项复制到vender目录,方便离线部署4) go mod download
下载当前模块机器依赖的所有依赖5) go mod graph
以文本形式打印模块依赖图6)go list -m all
列出当前模块及其依赖项的所有模块和版本7) go get
获取指定包或模块,并将其添加到go.mod文件8) go get -u
更新指定包的版本 

3.下载Gin依赖失败

(1)报错

github.com/gin-gonic/gin importsgithub.com/gin-gonic/gin/binding importsgithub.com/pelletier/go-toml/v2 importsslices: package slices is not in GOROOT (C:\Program Files\Go\src\slices)
note: imported by a module that requires go 1.21

(2)原因分析

go get -u github.com/gin-gonic/gin

因为当前go版本为1.20.4,更新指定包的版本至少需要go 1.21

(3)解决方法
在不升级版本的情况下,获取指定包或模块,并将其添加到go.mod文件

go get  github.com/gin-gonic/gin

成功:

这篇关于Go开发运维:Go项目工程化进行初始配置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1127509

相关文章

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Pandas使用AdaBoost进行分类的实现

《Pandas使用AdaBoost进行分类的实现》Pandas和AdaBoost分类算法,可以高效地进行数据预处理和分类任务,本文主要介绍了Pandas使用AdaBoost进行分类的实现,具有一定的参... 目录什么是 AdaBoost?使用 AdaBoost 的步骤安装必要的库步骤一:数据准备步骤二:模型

使用Pandas进行均值填充的实现

《使用Pandas进行均值填充的实现》缺失数据(NaN值)是一个常见的问题,我们可以通过多种方法来处理缺失数据,其中一种常用的方法是均值填充,本文主要介绍了使用Pandas进行均值填充的实现,感兴趣的... 目录什么是均值填充?为什么选择均值填充?均值填充的步骤实际代码示例总结在数据分析和处理过程中,缺失数

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

SpringBoot基于配置实现短信服务策略的动态切换

《SpringBoot基于配置实现短信服务策略的动态切换》这篇文章主要为大家详细介绍了SpringBoot在接入多个短信服务商(如阿里云、腾讯云、华为云)后,如何根据配置或环境切换使用不同的服务商,需... 目录目标功能示例配置(application.yml)配置类绑定短信发送策略接口示例:阿里云 & 腾

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

如何为Yarn配置国内源的详细教程

《如何为Yarn配置国内源的详细教程》在使用Yarn进行项目开发时,由于网络原因,直接使用官方源可能会导致下载速度慢或连接失败,配置国内源可以显著提高包的下载速度和稳定性,本文将详细介绍如何为Yarn... 目录一、查询当前使用的镜像源二、设置国内源1. 设置为淘宝镜像源2. 设置为其他国内源三、还原为官方