在Debian上安装Golang有两种主要方式:包管理器安装(简单快捷)和手动下载安装(版本可控)。

sudo apt update && sudo apt install golang-go -ygo1.25.linux-amd64.tar.gz),下载后解压至/usr/local:wget https://golang.org/dl/go1.25.linux-amd64.tar.gzsudo tar -C /usr/local -xzf go1.25.linux-amd64.tar.gz~/.bashrc(或~/.zshrc),添加以下内容以设置GOROOT(Go安装路径)、GOPATH(工作目录)和PATH(可执行文件路径):export GOROOT=/usr/local/goexport GOPATH=$HOME/goexport PATH=$PATH:$GOROOT/bin:$GOPATH/bin运行source ~/.bashrc使配置生效。go version,若输出类似go version go1.25 linux/amd64,则说明安装成功。GOPATH的繁琐配置。在项目目录下运行:mkdir -p $GOPATH/src/myproject && cd $GOPATH/src/myprojectgo mod init myproject# 初始化模块,生成go.mod文件Go语言内置强大的标准库,适合开发网络服务、系统工具、并发程序等系统级应用。
main.go文件,编写以下代码:package mainimport ("fmt""net")func main() {listener, err := net.Listen("tcp", ":8080")// 监听8080端口if err != nil {fmt.Println("监听失败:", err)return}defer listener.Close()fmt.Println("服务器启动,等待连接...")for {conn, err := listener.Accept()// 接受客户端连接if err != nil {fmt.Println("连接失败:", err)continue}go handleConnection(conn)// 启动goroutine处理连接}}func handleConnection(conn net.Conn) {defer conn.Close()buffer := make([]byte, 1024)n, err := conn.Read(buffer)// 读取客户端数据if err != nil {fmt.Println("读取失败:", err)return}fmt.Printf("收到客户端消息: %sn", string(buffer[:n]))conn.Write([]byte("Hello from Debian Go Server!n"))// 发送响应}package mainimport ("fmt""time")func printNumbers(ch chan int) {for i := 1; i <= 5; i++ {ch <- i// 发送数据到channeltime.Sleep(time.Second)}close(ch)// 关闭channel}func main() {ch := make(chan int)go printNumbers(ch)// 启动goroutinefor num := range ch {// 从channel接收数据fmt.Println("数字:", num)}}go run命令快速执行代码(无需生成可执行文件):go run main.gogo build生成二进制文件(适用于部署):go build -o myserver# 生成名为myserver的可执行文件./myserver# 运行程序-ldflags="-s -w"减少体积,CGO_ENABLED=0禁用Cgo(避免依赖动态库):CGO_ENABLED=0 go build -ldflags="-s -w" -o myserver_staticgo get安装第三方库(如go get github.com/gorilla/mux),Go Modules会自动管理版本。gofmt工具统一代码风格(如gofmt -w main.go)。Delve调试器(dlv debug启动调试)。make([]int, 0, 100))、使用sync.Pool复用对象、启用编译器优化(-gcflags="-m"查看逃逸分析)。/etc/systemd/system/myserver.service),实现开机自启和进程管理。通过以上步骤,你可以在Debian系统上高效地使用Go语言进行系统开发,从环境搭建到程序部署,覆盖系统级应用的全生命周期。