【Golang学习之旅】Go 语言基础语法概览

发布于:2025-02-10 ⋅ 阅读:(57) ⋅ 点赞:(0)

前言

✅ 适合人群: Golang 新手 | 后端开发者 | 面试求职者
✅ 文章亮点: 语法详解 + 实战代码 + 高质量示例
✅ 目标: 10 分钟快速掌握 Golang 基础语法,助你高效写项目!

1. Go 语言简介

1.1 Go 语言是什么?

Go 语言(Golang)是 Google 开发的一门 静态强类型并发支持强语法简洁 的编程语言,广泛应用于后端开发云计算微服务区块链等领域。
🔹 Go 语言的 4 大核心特点:
✅ 语法简洁(减少代码冗余,开发高效)
✅ 高性能(比 Python 快,比 Java 简单)
✅ 内置并发(Goroutine 让并发更简单)
✅ 跨平台(支持 Windows、Linux、Mac)

1.2 Go 语言的应用场景

📌 后端开发(Gin + GORM)
📌 微服务架构(gRPC + Docker + Kubernetes)
📌 高并发系统(消息队列、短链接)
📌 云计算(K8s、Serverless)
📌 区块链(Ethereum、Hyperledger)

2. Go 语言开发环境

2.1 安装 Go

👉 官网下载 Go:https://go.dev/dl/

2.2 配置 Go 环境

Windows / macOS / Linux 安装后,执行以下命令检查环境:

go version  # 查看 Go 版本
go env      # 查看 Go 配置

2.3 Hello, World!(第一个 Go 程序)

创建 main.go 文件,写入以下代码:

packge main 

import "fmt"

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

执行代码命令:

go run main.go

3. Go 语言基础语法

3.1 变量与常量

变量声明

package main

import "fmt" 

func main() {
	var name string = "Golang"     // 标准声明
	var age int = 20               // 显示声明
	city := "深圳"                 // 类型推导
	fmt.Println(name, age, city)  // 控制台输出    
}

常量

const Pi = 3.141592   // 常量不能被修改
const (
	Monday = 1
	Tuesday
	Wednesday
)

3.2 数据类型

类型 说明
int 整型
float 浮点数
string 字符串
bool 布尔值
array 数组
slice 切片
map 哈希表
struct 结构体
var a int = 10
var b float64 = 3.1415
var c bool = true
var d string = "张三"
fmt.Println(a, b, c, d)

3.3 条件判断与循环

if age := 18 age >= 18 {
	fmt.Plintln("成年人")
} else {
	fmt.Plintln("未成年人")
}
switch day := "Monday"; day {
case "Monday":
	fmt.Println("今天是周一")
case "Friday":
	fmt.Println("今天是周五")
default:
	fmt.Println("普通工作日")
}
for i := 0; i <= 5; i++ {
	fmt.Println(i)
}

3.4 数组与切片(slice)

arr := [3]int{1, 2, 3}   // 数组,长度固定
slice := []int{4, 5, 6, 7}  // 切片,长度可变
fmt.Println(arr, slice)

使用append函数可以向切片末尾追加一个或多个元素。如果追加的元素超出了当前切片的容量,append会分配一个新的底层数组,并将原切片的内容以及新元素复制到新数组中。

slice = append(slice, 7, 8)  // 追加元素
fmt.Println(slice[1:3])      // 切片截取

3.5 Map(哈希表)

person := map[string]int{"Alice": 25, "Bob": 30}
fmt.Println(person["Alice"])

person["Zhangsan"] = 24
delete(person, "Bob")

4. Go语言函数

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

func main() {
	result := add(7, 9)
	fmt.Println(result)
}

匿名函数

sum  := func(a, b int) int { return a + b}
fmt.Println(sum(45, 9))

5. Go语言并发编程(Goroutine & Channel)

5.1 Goroutine(轻量级线程)

package main

import (
    "fmt"
    "time"
)
 
func hello() {
	fmt.Println("Hellon Goroutine!")
} 

func main() {
	go hello()
	time.Sleep(time.Second)
}

5.2 Channel(通道)

package main

func main(){
	ch := make(chan string)

	go func() {
		ch <- "Hello, Channel!"
	}()
	fmt.Println(<-ch)
}

网站公告

今日签到

点亮在社区的每一天
去签到