• Go : golang发布三方包流程简介



    一、创建项目仓库

    1.输入仓库的名字,我这里输入simpleExample,用来做演示
    2.选择public,公开。要不并不好拉
    3.选择需要添加的文件(可选)
    4.点击create repository创建此仓库
    在这里插入图片描述

    完成后就有一个名为simpleExample的项目仓库,如下图所示。
    在这里插入图片描述

    二、拉去仓库,编辑代码

    1.点击code, 复制https的URL
    2.使用git,把这个项目clone下来
    在这里插入图片描述

    例如,我在这里的使用的git命令如下

    git clone https://github.com/Golzaes/simpleExample.git
    
    • 1

    3.go module初始化

    + go mod init "github.com/Golzaes/simpleExample"
    - go mod init "github.com/组织名/项目名" 
    
    • 1
    • 2

    注意:这里的一定是"github.com/组织名/项目名"这样的格式

    4.示例代码

    // Example/example.go
    package exampleCode
    
    import "math/rand"
    
    // ReadNumber create random number
    func ReadNumber() int {
    	// random number range
    	rnr := 10
    	//  returns, as an int, a non-negative pseudo-random number in [0,n)
    	return rand.Intn(rnr)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    注意这里的函数名ReadNumber,首字母必须大写!!!否则无法再外部调用此函数

    来个简单的单元测试

    // Example/example_test.go
    package exampleCode
    
    import "testing"
    
    func TestReadNumber(t *testing.T) {
    	tests := []struct {
    		name string
    		want int
    	}{
    		// TODO: Add test cases.
    		{
    			"exampleCode1",
    			1,
    		}, {
    			"exampleCode2",
    			2,
    		}, {
    			"exampleCode3",
    			3,
    		}, {
    			"exampleCode4",
    			4,
    		},{
    			"exampleCode5",
    			5,
    		},
    	}
    	for _, tt := range tests {
    		t.Run(tt.name, func(t *testing.T) {
    			if got := ReadNumber(); got != tt.want {
    				t.Errorf("ReadNumber() = %v, want %v", got, tt.want)
    			}
    		})
    	}
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36

    5.运行调试
    在这里插入图片描述

    三、推送与发布代码

    1.提交代码

    git add exampleCode/
    git commit -am "add exampleCode"
    git push origin master
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    2.发布包
    点击releases下面的create a new releases
    在这里插入图片描述

    填写标签号(常规格式是 x.y.z)例如我的v0.0.1,填写发表的标题,一般是项目名,填写简介
    在这里插入图片描述

    点击 左下方的publish release,进行发布,发布完成后会自动跳转到如下图所示的发布栏
    在这里插入图片描述
    至此,发布部分就已经完成了。那么自己来测试一下这个第三方包

    四、使用发布的第三方包

    1、新建一个项目、go mod init初始化、创建文件夹就不过多赘述了
    2、下载我们发布的包

    go get github.com/Golzaes/simpleExample/exampleCode
    
    • 1

    3、import包并且测试
    在这里插入图片描述

    小结

    本文从创建仓库开始到发布第三方包后到使用第三方包,这样我们就可以跨项目使用啦。如果测试未完成,请重新查阅。尤其是注意点!!!

    参考: https://www.freesion.com/article/52741516937/

  • 相关阅读:
    JAVA毕业设计106—基于Java+Springboot的外卖系统(源码+数据库)
    力扣:盛最多水的容器
    libuv初学者学习笔记
    SpringBoot:(五)自动配置原理解析
    手机厂商“互卷”之年:“机海战术”失灵,“慢节奏”打法崛起
    MES系统电子秤数据采集
    设计模式18—— 迭代器模式
    SD-WAN最让人心动的五大功能
    在排序数组中查找元素的第一个和最后一个位置
    程序员造轮子:一个基于posix线程库的互斥类(源码)
  • 原文地址:https://blog.csdn.net/zhanggqianglovec/article/details/127985638