- 博客(5)
- 收藏
- 关注
原创 Go基础-类型开关(Type Switch)
类型开关(TypeSwitch)是Go语言中用于在运行时检查变量类型的机制。其基础语法使用switch x.(type)来匹配变量的类型,并通过case语句处理不同类型的情况。例如,checkType函数可以判断变量是int、string还是bool类型。在完整示例中,printType函数进一步展示了如何将类型赋值给变量并打印具体值,支持基本类型如int、float64、string和bool,以及处理未知类型。此外,checkComplexType函数扩展了对复合类型(如切片、映射和函数)的支持。高级用
2025-05-14 18:17:43
272
原创 Go基础-goroutine
Goroutine是Go语言中的轻量级并发执行单元,初始栈大小仅为2KB,远小于传统线程的MB级栈。它由Go运行时调度,基于GMP模型(Goroutine-Machine-Processor),创建成本低,单机可轻松创建数百万个。Goroutine默认是非抢占式的,需主动让出CPU。停止Goroutine的常见方式包括自然终止、通道信号控制、Context上下文控制、runtime.Goexit强制终止和共享标志位控制。每种方式各有优缺点,如自然终止简单但无法主动控制,通道控制明确但需设计通道机制。错误停止
2025-05-14 18:08:40
414
原创 Go基础-go语言类型转换特点
Go语言中的类型转换必须显式声明,且只能在兼容类型之间进行。常见的转换场景包括基本类型(如数值、字符串与字节切片)、自定义类型、指针、接口等。数值类型转换时需注意溢出和精度丢失,字符串与字节切片的转换涉及编码问题。接口类型转换通过类型断言实现,需检查是否成功。自定义类型与基础类型之间的转换需显式声明。指针类型转换可通过unsafe.Pointer实现,但需谨慎使用,因其绕过类型系统,存在高风险。Go语言没有隐式转换,所有转换必须明确指定目标类型,编译器不会自动处理。
2025-05-14 17:59:40
435
原创 Go基础-go程序中的包
项目中包含go源文件以及其它包的目录,源文件中的函数、变量、类型都存储在该包中* 每个源文件都属于一个包,该包在文件顶部使用 package packageName 声明* 我们在源文件中需要导入第三方包时需要使用 import packageName。
2025-05-14 16:18:07
372
原创 Go基础-go的基本类型,复合类型,接口和方法
文章摘要:本文介绍了编程语言中的基本类型和复合类型。基本类型包括整型(有符号和无符号)、浮点型(单精度和双精度)、布尔型和字符串。复合类型涵盖数组、切片、映射、结构体、通道和指针,每种类型都有其特定的用途和特性。此外,文章还讨论了接口与方法的概念,包括接口的定义、隐式实现、nil接口以及方法的接收者类型(值接收者与指针接收者)。最后,对比了不同类型在可变性、线程安全性和典型用途上的差异。
2025-05-14 14:47:40
1094
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅