• Golang编写客户端SDK,并开源发布包到GitHub,供其他项目import使用


    编写客户端SDK,并开源发布包到GitHub

    如果希望其他项目能够使用该SDK,可以将该SDK打包为一个Go模块,并将其发布到Go模块仓库中。这将使其他项目能够通过Go的模块依赖机制来使用该SDK。可以轻松地引用和使用你的代码。

    1. 创建 GitHub 仓库

    1. 登录到你的 GitHub 帐户。
    2. 在 GitHub 主页点击右上角的加号(+),然后选择 “New repository”(新建仓库)。
    3. 给你的仓库起一个名称,选择是公共的,然后点击 “Create repository”(创建仓库)按钮。
    • 克隆项目到本地:使用 git clone 命令来克隆仓库到本地。需要提供 GitHub 仓库的 URL,可以在仓库页面的右上角找到 “Code” 按钮,然后选择 HTTPS 或 SSH URL。
    • 使用 HTTPS URL 克隆仓库:
      git clone https://github.com/用户名/仓库名.git
      
      • 1
    • 使用 SSH URL 克隆仓库(需要配置 SSH 密钥):
      git clone git@github.com:用户名/仓库名.git
      
      • 1

    2. 构建项目,编写代码

    克隆成功后,此时项目是一个空仓库,使用 go mod 的方式管理包,对项目进行初始化

    git mod init github.com/用户名/仓库名
    
    • 1

    初始化成功后,项目根目录下会新增一个 go.mod 文件。
    ⚠️ 注意:这里的项目名需要为 github.com/用户名/仓库名 (将用户名、仓库名替换为你实际项目中的名称)

    Go 代码示例:

    package client
    
    type Client struct {
    	AccessKey string
    	SecretKey string
    }
    
    func NewClient(accessKey, secretKey string) *Client {
    	return &Client{
    		AccessKey: accessKey,
    		SecretKey: secretKey,
    	}
    }
    
    func (c *Client) GetNameByGet(name string) (data interface{}, err error) {
    	return "名字是" + name, nil
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    项目目录结构展示:

    在这里插入图片描述

    3. 提交代码到 GitHub仓库

    完成了代码编写及测试正常后,将代码提交到远程仓库中。

    1. 添加文件到暂存区: 使用 git add 命令将你要提交的文件添加到 Git 的暂存区。可以使用以下命令添加所有更改:

      git add .	//这个命令将当前目录下所有文件(包括新添加、修改和删除的文件)添加到暂存区。但它不会包括未跟踪的文件,也就是那些没有被 Git 管理的文件。如果你在项目中新建了文件,使用这个命令将不会将它们添加到暂存区。
      git add -Agit add --all	//这个命令会将当前目录下的所有更改(包括新添加、修改、删除的文件)以及未跟踪的文件全部添加到暂存区。它是一个更全面的命令,适用于确保所有更改都被提交到 Git。
      
      • 1
      • 2

      或者,如果你只想添加特定文件,可以使用:

      git add 文件名
      
      • 1
    2. 提交更改: 使用 git commit 命令将暂存区的更改提交到本地仓库,并添加提交消息来描述你的更改。例如:

      git commit -m "添加了一个新功能"
      
      • 1
    3. 推送到远程仓库: 使用 git push 命令。例如:

      git push -u origin 分支名
      
      • 1

      将 “分支名” 替换为你要推送的分支名称。通常,main 或 master 是默认的主分支名称。

    4. 📢 注意,如果你是第一次提交到 GitHub 仓库,需要配置 Git 以关联本地仓库和远程仓库。使用 git remote 命令来添加远程仓库的别名。例如:

      git remote add origin 仓库URL
      
      • 1

      “origin” 是远程仓库的别名,可以自定义。“仓库URL” 是你 GitHub 仓库的 URL。
      一旦关联了远程仓库,就使用 git push 将更改推送到远程仓库

    4. 发布版本

    push成功后,刷新GitHub上的仓库,确认项目代码已经上传成功。然后点击tags 创建标签和构建release版本。
    在这里插入图片描述
    接着点击:Create a new release
    在这里插入图片描述
    然后,添加一个版本号打上tag,完善描述信息后,点击 Publish release 发布。
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/3404adc6ff7048acac4ecc897506066e.pn

    5. 现在其他人可以引用使用你的模块包了

    成功发布后,其他人就可以像平时使用第三方包一样直接go getimport 我们的模块包了。

    go get github.com/用户名/仓库名
    
    • 1

    或者

    require (
        github.com/用户名/仓库名 v1.0.0
    )
    
    • 1
    • 2
    • 3

    然后运行 go get 命令下载该依赖。

    使用该模块包:

    package main
    import "github.com/xiaoxiongmao5/xapi-clientsdk/client"
    
    func main() {
    	accessKey, secretKet := "zs", "123456"
    	clientsdk = client.NewClient(accessKey, secretKey)
    	data, err := clientsdk.GetNameByGet(name)
    	if err != nil {
    		fmt.Println("ERROR: Failed to read response, err=", err)
    		return
    	}
    	fmt.Printf("SUCCESS: data=%T data=%v \n", data, data)
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
  • 相关阅读:
    23上半年下午题
    第14章 多线程二 (线程调度)
    “秘密入职”字节跳动,百度高级经理一审被判赔107万
    Android 协程 异常捕获 异常的传播特性
    Linux shell 脚本学习
    Python爬虫讲解(超详细)
    C++基础
    excel进行打印区域设置
    可以直接打开小皮面板中的网站运行php文件,昨天下载了数据库插件,一直提示“服务器连接错误,如何解决?(相关搜索:建立数据库)
    2023/10/24-我的第一个程序员节
  • 原文地址:https://blog.csdn.net/trinityleo5/article/details/132673793