广告
返回顶部
首页 > 资讯 > 后端开发 > GO >Golang多模块开发的详细过程
  • 391
分享到

Golang多模块开发的详细过程

golang模块化开发golang 模块golang多模块开发 2023-02-14 12:02:14 391人浏览 独家记忆
摘要

目录golang 多模块开发前提条件基本要求本地环境代码开发创建模块创建工作空间修改源码总结Golang 多模块开发 今天学习下Golang中多模块的基础知识,学习多模块的运行原理,

Golang 多模块开发

今天学习下Golang中多模块的基础知识,学习多模块的运行原理,使用多模块的方式,可以让开发者的代码在其他多个模块中构建、运行。提高代码的复用,从而提高开发效率。

在今天的学习中,将在工作工作空间中创建两个模块,然后进行模块之间的引用,并运行程序结果。

前提条件

基本要求

  • Go 1.18 及更高版本
  • 合适的编译工具 - text编辑器也满足要求
  • 命令终端 - linuxMac系统shell, windows系统的Cmd、PowerShell

本地环境

  • Go 版本信息

  • 系统信息 - MacOS
  • 编辑工具 - Sublime Text

代码开发

创建模块

1.打开shell终端,进入代码目录

2.创建工作空间,并进入

$ mkdir workspace
$ cd workspace

3.初始化模块 - 新创建一个hello模块,依赖golang.org/x/example模块

创建hello模块

$ mkdir hello
$ cd hello
$ go mod init example.com/hello
go: creating new go.mod: module example.com/hello

添加依赖

$ go get golang.org/x/example

4.在hello目录下,创建hello.go源文件,内容如下

package main
import (
    "fmt"

    "golang.org/x/example/stringutil"
)
func main() {
    fmt.Println(stringutil.Reverse("Hello"))
}

5.运行程序

$ go run example.com/hello

创建工作空间

在这一步中,创建go.workwe

初始化工作空间 - 在workspace目录下 执行以下命令,该命令会自动生成一个go.work 文件

$ go work init ./hello

go.work 文件的内容如下

go.work文件内容的语法跟 go.mod 类似。第一行告诉Go编译器 使用哪个版本来解释文件;第二行告诉Go, 编译时的主模块;

运行程序 - 在workspace目录执行命令(区别之前在hello目录下执行)

$ go run example.com/hello

Go命令将工作空间中的所有模块作为主模块。这允许我们引用模块内的包,甚至模块外的包。在模块或工作区外运行go run命令将导致错误,因为go命令不知道要使用哪些模块。

接下来,我们将向工作区添加golang.org/x/example模块的本地副本。然后,我们将向stringtil包添加一个新函数,我们可以使用它来代替Reverse。

修改源码

在这一步中,我们将下载包含golang.org/x/example模块的git repo副本,将其添加到工作区,然其中添加一个新函数,然后将从hello程序中使用该函数。

1.克隆代码 - 在workspace目录 执行以以下命令复制git代码

$ git clone https://go.googlesource.com/example
Cloning into 'example'...
remote: Total 165 (delta 27), reused 165 (delta 27)
Receiving objects: 100% (165/165), 434.18 KiB | 1022.00 KiB/s, done.
Resolving deltas: 100% (27/27), done.

遗憾的是,国内的环境并不一定能够通过git clone的命令复制代码,会出现以下错误

可以点击此连接 官网 下载代码压缩包

下载完毕后,将压缩包进行解压 并重新命名会example,workspace的代码结构如下

2.增加模块 - 使用命令新增模块

go work use ./example

至此,go.work文件中依赖了两个模块

3.新增函数 - 在workspace/example/stringutil目录下新增 toupper.go文件,文件内容如下

package stringutil

import "unicode"

// ToUpper uppercases all the runes in its argument string.
func ToUpper(s string) string {
    r := []rune(s)
    for i := range r {
        r[i] = unicode.ToUpper(r[i])
    }
    return string(r)
}

4.调用新增函数 - 修改workspace/hello/hello.go代码文件

func main() {
    fmt.Println(stringutil.ToUpper("Hello"))
    fmt.Println(stringutil.Reverse("Hello"))
}

5.执行代码 - 在workspace目录下执行

go run example.com/hello

至此,我们学会了拉取GitHub上的原代码,并学会了如何新增函数,如何调用。

总结

到此这篇关于Golang多模块开发的文章就介绍到这了,更多相关Golang多模块开发内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: Golang多模块开发的详细过程

本文链接: https://www.lsjlt.com/news/196012.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Golang多模块开发的详细过程
    目录Golang 多模块开发前提条件基本要求本地环境代码开发创建模块创建工作空间修改源码总结Golang 多模块开发 今天学习下Golang中多模块的基础知识,学习多模块的运行原理,...
    99+
    2023-02-14
    golang模块化开发 golang 模块 golang多模块开发
  • IDEA2022搭建Spring Cloud多模块项目的详细过程
    目录Springboot多模块项目搭建创建maven父工程创建子模块创建web模块添加模块依赖关系多模块启动配置文件管理Springboot多模块项目搭建 创建maven父工程 注意...
    99+
    2022-11-13
    Spring Cloud多模块项目 idea搭建Spring Cloud多模块项目
  • Python中Pygame模块的详细安装过程
    首先: 确认自己安装有python(没有安装的同学可自行安装,这里我们不过多赘述) 确认安装有python之后,win+r打开cmd窗口,输入python查看自己的python版本 ...
    99+
    2022-11-11
  • 详细介绍Golang的编译过程
    Golang 是 Google 开发的一种编程语言,自推出以来备受欢迎。多人协作、高并发、低延迟的特性,使得 Golang 非常适合用于互联网高流量服务端的开发。但是,作为一名 Golang 工程师,您是否对编译过程有所疑虑?本文将详细介绍...
    99+
    2023-05-14
  • IDEA搭建SpringBoot多模块聚合工程过程详解(多模块聚合工程)
    目录一、搭建环境(1)IDEA创建maven工程(2)修改pom依赖(4)创建app-pojo子工程(5)创建app-mapper子工程(6)创建app-service子工程&nbs...
    99+
    2022-11-13
  • 在Python开发环境中调用ChatGPT模型详细过程
    目录写在前面第一步:获取 API Key第二步:安装 OpenAI 第三方库第三步:Python 开发环境中调用 ChatGPT 模型本文将演示在本地的 python 项目中调用 C...
    99+
    2023-05-19
    Python开发环境 Python调用ChatGPT模型 Python ChatGPT模型
  • vue3 中使用 jsx 开发的详细过程
    目录安装 JSX 插件使用语法差异模板指令事件修饰符v-forv-on插槽安装 JSX 插件 在 Vue2 中要想使用 jsx 开发,需要安装 @vue/babel-preset-j...
    99+
    2022-11-13
  • Jsp开发环境配置的详细过程
    本篇内容主要讲解“Jsp开发环境配置的详细过程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Jsp开发环境配置的详细过程”吧!以下软件下载连接地址无法显示的话,请直接到官方网站下载即可!软件下载...
    99+
    2023-06-03
  • VB.NET开发多线程详细讲解
    这篇文章主要介绍“VB.NET开发多线程详细讲解”,在日常操作中,相信很多人在VB.NET开发多线程详细讲解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”VB.NET开发多线程详细讲解”的疑惑有所帮助!接下来...
    99+
    2023-06-17
  • VS2022安装Python开发环境的详细过程
    目录1前言2 安装支持Python3示例1前言 对习惯使用VS2022,VS2019……编辑和调试C\C++\C#的同学来说,能不能在VS2022中开发和...
    99+
    2022-11-11
  • vscode搭建STM32开发环境的详细过程
    目录需要安装的软件 vscodemakeopenocdstm32CubeMX配置开发环境配置编译下载功能配置调试功能需要安装的软件  vscode 必装插件: ...
    99+
    2022-11-12
  • Clion配置opencv开发环境的详细过程
    之前尝试用vs写opencv的项目,但是因为各种使用习惯很难改过来,加上vs的快捷键和代码智能提示相当的蛋疼,所以尝试着在clion上配置opencv开发环境。 以下是详细配置过程:...
    99+
    2022-11-13
  • openEuler 搭建java开发环境的详细过程
    目录1. 初始化环境2. 安装jdk83. 安装SVN4. 安装Git5. 安装Node.js6. 下载并激活IntelliJ IDEA7. 下载并激活Navicat本文操作系统及版...
    99+
    2022-11-13
  • Golang Facade模式与模块化开发的完美结合
    Golang中的Facade模式与模块化开发可以很好地结合在一起,实现代码的可维护性、可扩展性和可测试性。Facade模式是一种结构...
    99+
    2023-10-08
    Golang
  • python:pandas模块最全最详细的教程
    pandas模块介绍 pandas官方文档:https://pandas.pydata.org/pandas-docs/stable/v=20190307135750 pandas基于Numpy,可以...
    99+
    2023-09-13
    python pandas numpy
  • 使用Vscode结合docker进行开发的详细过程
    前言 使用 Docker 与 VS Code 可以优化整个本地开发环境,加速项目进度过程。在所有环境中使用相同的基础映像,为所有开发人员提供相同的编辑器工具,可以更容易实现标准。 大...
    99+
    2022-11-12
  • Java模拟qq软件的详细过程
    目录登陆界面的实现登陆界面代码Login类login的监听类 LoginListener聊天界面运行图Client类代码Server代码登陆界面代码**之前在封装代码后出现了问题,按...
    99+
    2022-11-12
  • JavaThread多线程开发中Object类详细讲解
    目录方法概览Threadwait  notify notifyAll方法详解作用阻塞阶段唤醒阶段遇到中断代码展示特点通过wait notify方法实现生产者和消费者slee...
    99+
    2023-03-01
    Java Object类 Java Thread多线程
  • python合并多个excel的详细过程
    目录前言代码编写1.导包2.定义位置和表头3.获取要合并的所有exce表格4.打开Exce文件5.获取exce文件下的所有sheet6.获取sheet下有多少行数据7.获取sheet...
    99+
    2022-11-11
  • 详细介绍Golang编译的过程及其原理
    Golang是一种新的编程语言,十分快速的发展,得到越来越多开发者的关注和使用。Golang除了拥有诸如并发编程、垃圾回收、强类型等自身特性外,还具有编译速度快、能生成单独静态链接的可执行文件等优势。但是,Golang的编译过程却不简单。在...
    99+
    2023-05-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作