zoukankan      html  css  js  c++  java
  • Golang 使用github托管go类库

    golang

    在golang开发中,我们经常会使用到其他组织或个人开源的golang框架或类库,例如github.com/spf13/viper,可直接使用命令将类库下载到本地的$GOPATH下:

    go get github.com/spf13/viper
    

    那么如何使用github托管自己的工具类库,便于其他人方便的使用呢?本篇即简单演示。

    1、创建github仓库托管go类库代码,例如common-go:

    image-20210302215309743

    2、将仓库克隆至本地:

    git clone https://github.com/vsixz/common-go.git
    

    3、初始化go类库的module:

    cd common-go
    go mod init github.com/vsixz/common-go
    

    注意:

    使用go env命令查看是否开启go-module功能,如果没开启需要设置环境变量:go env -w GO111MODULE=on

    module名称需要与github仓库一致,这样其他人才能通过go get github.com/vsixz/commmon-go下载到你的类库。

    4、编写go类库代码,例如:

    image-20210302220434035

    5、提交go代码到github:

    git add .
    git commit -m "add hello"
    git push -u origin main
    

    6、发行版本

    最佳实践是创建对应的版本发布分支,然后使用发布分支创建tag,发布:

    git checkout -b release/v1.x
    git push -u origin release/v1.x
    git tag v1.0.0 
    git push --tags
    

    此时,在github仓库release中可以看到发布的版本

    image-20210302222520925

    7、创建demo-go项目,测试使用go类库:

    go mod init demo-go
    

    在go.mod引入github.com/vsixz/common-go@v1.0.0

    image-20210302225614040

    调用github.com/vsixz/common-go库的hello.Say方法:

    image-20210302231322807

    8、运行:

    $ go run main.go
    test hello:
    Hello, Jay
    

    gzh

  • 相关阅读:
    python 类定义 继承
    BAYSY2 的LVDS引脚 笔记
    Fedora20-32bit cross-compiling arm-linux-gcc4.3.2
    以冒泡排序为例--malloc/free 重定向stdin stdout
    笔记:程序内存管理 .bss .data .rodata .text stack heap
    第一章 数值和码制
    《将博客搬至CSDN》
    Servlet 3.0 新特性
    java Servlet接口及应用
    C语言输出单个汉字字符
  • 原文地址:https://www.cnblogs.com/Med1tator/p/14472115.html
Copyright © 2011-2022 走看看