Go 语言学习手册

免费学习 完整知识体系 快速检索

Go语言学习手册《接口的定义与实现》:Go 的接口是一组方法签名的集合,类型通过实现所有方法来隐式实现接口(鸭子类型)。 **定义接口:** ```go type Shape interface { Area() float64 Perimeter() flo...

接口(interface)

接口的定义与实现

【详细说明 & 代码示例】
Go 的接口是一组方法签名的集合,类型通过实现所有方法来隐式实现接口(鸭子类型)。 **定义接口:** ```go type Shape interface { Area() float64 Perimeter() float64 } ``` **实现接口(无需显式声明):** ```go type Circle struct { Radius float64 } func (c Circle) Area() float64 { return 3.14 * c.Radius * c.Radius } func (c Circle) Perimeter() float64 { return 2 * 3.14 * c.Radius } // Circle 自动实现了 Shape 接口 ``` **接口使用:** ```go func printArea(s Shape) { fmt.Println(s.Area()) } printArea(Circle{5}) ``` **空接口 `interface{}`(Go 1.18 后可用 `any` 别名):** 表示任何类型。 ```go var any interface{} any = 42 any = "hello" ``` **类型断言:** 提取接口的具体类型。 ```go val, ok := any.(int) if ok { fmt.Println(val) } // 类型选择(type switch) switch v := any.(type) { case int: fmt.Println("int", v) case string: fmt.Println("string", v) default: fmt.Println("unknown") } ```

学习提示:建议安装 Go 环境(go.dev/dl),使用 VS Code 或 GoLand 编写代码,并熟练使用 go run、go build、go mod 等命令。

全部章节目录(共 30 个知识点)

Go 基础 (1个知识点)

接口(interface) (1个知识点)

指针 (1个知识点)

错误处理 (1个知识点)

包管理 (1个知识点)

并发:goroutine (1个知识点)

并发:channel (1个知识点)

同步原语 (1个知识点)

网络与 HTTP (1个知识点)

测试与性能 (1个知识点)

反射与泛型 (1个知识点)

CGO 与汇编 (1个知识点)

Web 框架 (1个知识点)

数据库操作 (1个知识点)

配置与日志 (1个知识点)

部署与运维 (1个知识点)

使用说明

  • • 本手册涵盖 Go 语言从基础到并发实战、Web 服务的完整知识体系
  • • 在搜索框输入关键词,快速定位相关知识点
  • • 点击条目标题进入详情页,查看详细说明与代码示例
  • • 页面按分类展示所有知识点,方便系统性学习
  • • 建议安装 Go 环境并使用 VS Code 或 GoLand 进行实践