第2章:Go语言基础语法与类型系统
flowchart LR
A[变量与常量] --> B[基本数据类型]
B --> C[复合类型(数组/切片/映射)]
C --> D[控制结构(if/for/switch)]
D --> E[函数与方法]
E --> F[接口与多态]
F --> G[包与导入]本章概述
2.1 变量声明与初始化
2.1.1 变量声明的多种方式
使用var关键字声明
// common/constants.go - 全局变量声明
package common
import "time"
// 单个变量声明
var StartTime = time.Now().Unix()
var Version = "v0.0.0"
// 批量变量声明
var (
DebugEnabled bool
MemoryCacheEnabled bool
LogConsumeEnabled = true
SMTPServer = ""
SMTPPort = 587
SMTPSSLEnabled = false
)
// 带类型的变量声明
var (
GlobalApiRateLimitEnable bool
GlobalApiRateLimitNum int
GlobalApiRateLimitDuration int64
)短变量声明(:=)
零值初始化
2.1.2 常量声明
普通常量
枚举常量(iota)
2.1.3 作用域规则
2.2 基本数据类型
2.2.1 数值类型
整数类型
浮点类型
2.2.2 字符串类型
字符串声明和操作
多行字符串和原始字符串
2.2.3 布尔类型
2.3 复合数据类型
2.3.1 数组和切片
数组定义和使用
切片定义和操作
New-API项目中的实际切片应用
2.3.2 映射(Map)
Map的声明和初始化
Map操作示例
2.3.3 结构体(Struct)
结构体定义
结构体方法
结构体嵌套和组合
结构体标签(Tags)
2.3.4 指针
指针基础
结构体指针
指针在函数参数中的使用
2.4 控制结构
2.4.1 条件语句
if语句的多种形式
错误处理中的if语句
2.4.2 循环语句
for循环的多种形式
range循环
实际项目中的循环应用
2.4.3 switch语句
基本switch语句
表达式switch
类型switch
2.5 函数定义与调用
2.5.1 函数基础
基本函数定义
命名返回值
可变参数函数
2.5.2 函数作为值
函数变量
高阶函数
2.5.3 匿名函数和闭包
匿名函数
闭包
2.5.4 方法(Methods)
方法定义
方法调用
2.6 接口(Interface)
2.6.1 接口基础
接口定义
接口实现
2.6.2 接口的多态性
接口多态示例
2.6.3 类型断言和类型开关
类型断言
类型开关
2.6.4 标准库中的重要接口
error接口
fmt.Stringer接口
2.7 包和导入
2.7.1 包的概念
包声明
包的可见性
2.7.2 导入语句
基本导入
导入别名
New-API项目中的重要第三方库
2.7.3 init函数
2.7.4 New-API项目核心业务概念
用户角色系统(Role-Based Access Control)
渠道系统(Channel Management)
令牌系统(Token Management)
业务概念之间的关系
2.7.5 Go语言高级特性预览
反射(Reflection)基础
并发编程基础
内存管理与垃圾回收
错误处理模式
本章小结
练习题
扩展阅读
深入理解Go语言特性
进阶学习资源
实践项目推荐
社区资源
最后更新于
这有帮助吗?
