Go初级之一

Go 语言入门指南:从零开始写你的第一个 Go 程序

在众多编程语言中,Go(又叫 Golang)凭借高性能、简洁语法、并发支持的特点,越来越受到开发者的欢迎。很多云原生项目(如 Docker、Kubernetes)都是用 Go 编写的。

如果你是编程初学者,或者只是想学习一门新语言,Go 是一个非常好的选择。下面,我们从零开始,一步一步写出你的第一个 Go 程序。


1. 为什么选择 Go?

Go 的设计目标很明确:高效开发 + 高效执行

它的几个优点:

  • 语法简洁:比 Java/C++ 要干净很多,新人学习成本低。
  • 性能接近 C:编译为机器码,运行速度比 Python、JavaScript 快不少。
  • 内置并发:用 goroutine 就能轻松写并发程序。
  • 跨平台:一次编译,多系统运行(Linux、Windows、Mac 都可以)。

2. 安装 Go 环境

你可以到 Go 官方网站 下载对应系统的安装包。

安装完成后,运行:

bash 复制代码
go version

如果能看到类似输出:

复制代码
go version go1.22.0 windows/amd64

说明安装成功 🎉。


3. Go 程序的基本结构

一个最小的 Go 程序大概是这样:

go 复制代码
package main

import "fmt"

func main() {
    fmt.Println("Hello, Go!")
}

代码解释:

  • package main:每个 Go 程序都从 main 包开始。
  • import "fmt":引入标准库的 fmt 包,用来打印内容。
  • func main():程序的入口函数。
  • fmt.Println(...):打印一行内容。

运行它:

bash 复制代码
go run hello.go

输出:

复制代码
Hello, Go!

4. 变量与数据类型

Go 是静态类型语言,但语法非常简洁。

go 复制代码
package main

import "fmt"

func main() {
    var name string = "小明"
    age := 20  // Go 会自动推断类型
    height := 1.75

    fmt.Println("名字:", name)
    fmt.Println("年龄:", age)
    fmt.Println("身高:", height)
}

运行输出:

makefile 复制代码
名字: 小明
年龄: 20
身高: 1.75

5. 控制语句

Go 支持常见的 iffor,但是没有 while

go 复制代码
package main

import "fmt"

func main() {
    score := 85

    if score >= 60 {
        fmt.Println("及格啦!")
    } else {
        fmt.Println("没及格,再努力!")
    }

    // for 循环
    for i := 1; i <= 3; i++ {
        fmt.Println("第", i, "次循环")
    }
}

6. 函数

函数是 Go 的核心组成部分。

go 复制代码
package main

import "fmt"

func add(a int, b int) int {
    return a + b
}

func main() {
    result := add(3, 5)
    fmt.Println("3 + 5 =", result)
}

7. 并发初体验(goroutine)

Go 的亮点之一就是并发编程 。只要在函数前加 go 关键字,就能开启一个新的 goroutine。

go 复制代码
package main

import (
    "fmt"
    "time"
)

func sayHello(name string) {
    for i := 1; i <= 3; i++ {
        fmt.Println("Hello,", name, i)
        time.Sleep(time.Second)
    }
}

func main() {
    go sayHello("Alice")
    go sayHello("Bob")

    time.Sleep(4 * time.Second) // 主程序等一会儿
    fmt.Println("程序结束")
}

运行后你会看到 Alice 和 Bob 的输出交替出现,这是 goroutine 的魅力所在。


8. 总结

今天我们简单介绍了 Go 语言的:

  • 基本语法结构
  • 变量与类型
  • 控制语句
  • 函数
  • 并发

Go 的哲学是"少即是多",它没有太复杂的语法糖,却能帮助你快速写出高性能、可靠的程序。

如果你有兴趣,可以继续深入学习 Go 的切片(slice)、map、struct、接口(interface),以及更高级的并发模型。