Open post Go Library

Go 编程实践|从零到一:创建、测试并发布自己的 Go 库

为什么需要开发自己的 Go 库

在编程语言中,包(Package)和库(Library)是代码组织和复用的重要工具。在 Go 中,包是代码的基本组织单位,每个 Go 程序都由包构成。包的作用是帮助组织代码,提供封装和代码复用的机制。

Go 包可以包含函数、类型、变量和常量等,这些元素可以被其他包引用和使用。例如,Go 的标准库提供了大量的包,如 net/http 包提供了 HTTP 客户端和服务器实现,fmt 包提供了格式化、I/O 函数等。

而库是一种特殊的包,不包含 main 函数,不能被直接运行,但可以被其他程序引用。库通常包含一些常用的功能或算法,如字符串处理、数学计算、网络通信等。

开发自己的 Go 库的优点:

  1. 复用性:当在多个项目中需要使用相同的功能时,可以将这些功能封装在一个库中,然后在需要的地方引用他。这样可以避免重复编写相同的代码,提高编程效率。
  2. 可维护性:当需要修改某个功能时,只需修改对应的库,而不需要在多个地方进行修改,这样可以使代码更易于理解和维护。
  3. 可测试性:为每个库编写单元测试,确保他们的功能正确。修改代码时,可以运行这些测试来检查是否引入了新的错误。

"Go 编程实践|从零到一:创建、测试并发布自己的 Go 库"继续阅读

短链接生成原理

介绍了短链接的生成与访问流程。通过将长链接转换为 MD5 HASH 值,检查数据库是否存在对应记录,若无则存入数据库并返回自增 ID。ID 转换为 26 进制字符串作为短链接的 Key。访问短链接时,服务器解析 Key,重定向至长链接。提供了 Node.js 代码示例,展示了 SQL 结构及 10 进制到 26 进制的转换方法。

使用 Docker 部署 Node.js 服务

介绍了在 CentOS 系统上安装和配置 Docker 的步骤,包括 Docker 安装、创建 Dockerfile、构建镜像、运行容器及关闭容器的方法。通过编写 Node 项目脚本和 DockerBuild.sh 脚本,实现自动化构建与运行容器,开放宿主机端口并测试服务运行状态,适用于快速部署和管理项目环境。

Egg.js 配置多环境

概述了 Egg.js 的配置管理,包括默认配置 (config.default.js)、本地调试 (config.local.js)、测试环境 (config.test.js) 和生产环境 (config.prod.js) 的配置方法。通过命令行启动不同环境的应用,配置文件会根据环境合并加载,并注册到上下文 ctx 中供使用,方便管理和定制化开发。