自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除