Go的编译参数 在 Go 开发中,编译生成的二进制文件往往是程序性能和可移植性的关键。在某些场景下,我们需要对编译的输出进行优化,比如减少二进制文件大小、注入版本信息、控制调试信息等。而 -ldflags 是 Go 编译器提供的一个功能强大的选项,允许开发者向链接器传递额外的参数来控制生成文件的行为和结构。在本文中,我们将深入解析 Go 中的 -ldflags 及其常用参数,帮助开发者根据具体需求进行高效优化和自 2025-10-28 程序开发 #Go
库例子 程序库例子go-blueprintgo-blueprint是一个快速生成Go项目文件夹的项目,提供项目名称、RESTFul框架、数据库驱动、git等多种技术栈选择,由bubbletea TUI文本框架来提供数据的录入。 2025-04-16 程序开发 #Go #第三方库
执行特权命令时不用重复输入密码 在日常使用 Linux 系统时,不管是通过 SSH 远程登录设备,还是直接打开本地终端,当我们需要执行一些系统维护操作(比如更新软件包)时,都会遇到这样的情况:使用 sudo 命令后,系统会要求我们输入密码。 虽然这个设计出发点是安全考虑,但在个人使用场景下,频繁输入密码确实会影响工作效率。其实我们可以通过一个更优雅的方式来解决这个问题:在 sudoers.d 目录下创建独立的用户权限规则 2025-02-11 Linux #Ubuntu
编写Shell脚本时的技巧 获取当前脚本的目录1dir=$(cd $(dirname $0);pwd) 让输出有颜色123BOLD_RED='\033[1;31m'RESET='\033[0m'echo -e "${BOLD_RED}ERROR${RESET}: ./calculate_average_$fork.sh does no 2024-11-13 Linux #运维/Shell
好用的三方库 工具库Lancetgithub全面的 Go 语言工具函数库。这是一个高效且全面的 Go 语言工具函数库,包含 600 多个函数,涵盖字符串处理、切片操作、网络编程、并发、加解密、文件处理、时间/日期、流处理、迭代器等功能。 gopsutilgithub 用于系统监控的 go 库,可以监控 cpu、内存、硬盘、网络、进程、主机信息、docker 相关信息。 fsmgithub 有限状态机在 2024-09-03 程序开发 #Go
Systemd 入门教程:命令篇 Systemd 入门教程:命令篇Systemd 是 Linux 系统工具,用来启动守护进程,已成为大多数发行版的标准配置。 本文介绍它的基本用法,分为上下两篇。今天介绍它的主要命令,下一篇介绍如何用于实战。 一、由来历史上,Linux 的启动一直采用init进程。 下面的命令用来启动服务。 123$ sudo /etc/init.d/apache2 start# 或者$ service apac 2024-08-21 Linux
Systemd 入门教程:实战篇 Systemd 入门教程:实战篇上一篇文章,我介绍了 Systemd 的主要命令,今天介绍如何使用它完成一些基本的任务。 一、开机启动对于那些支持 Systemd 的软件,安装的时候,会自动在/usr/lib/systemd/system目录添加一个配置文件。 如果你想让该软件开机启动,就执行下面的命令(以httpd.service为例)。 1$ sudo systemctl enable ht 2024-08-21 Linux
Go实现获取编译程序的git编译时间、提交时间等环境变量 在 Go 中借助标准库 runtime.debug 这个包的ReadBuildInfo函数去获取编译程序的各种信息,这个信息结构体如下: 12345678910111213141516171819type BuildInfo struct { // GoVersion is the version of the Go toolchain that built the binary // 2024-06-19 程序开发 #Go
gcache-一个用go实现的内存库 简介gcache是一个使用Go语言实现的内存缓存库,在github上有2.5k个star,支持LFU、LRU、ARC等多种缓存驱逐策略,可有利于对相对应思想的实现。 但该库最近的一次更新已经是2021年的,所以该库不推荐用于实际生产,仅作为源码学习使用。 根据KHWL图标来列举出一些知识点以及我想要学习的地方,如下图: 快速使用123456789101112131415161718package 2024-03-13 程序开发 #Go