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个知识点)
变量与数据类型 (2个知识点)
控制流程 (2个知识点)
结构体与方法 (2个知识点)
接口(interface) (1个知识点)
指针 (1个知识点)
错误处理 (1个知识点)
包管理 (1个知识点)
并发:goroutine (1个知识点)
并发:channel (1个知识点)
同步原语 (1个知识点)
标准库 (2个知识点)
网络与 HTTP (1个知识点)
测试与性能 (1个知识点)
反射与泛型 (1个知识点)
CGO 与汇编 (1个知识点)
Web 框架 (1个知识点)
数据库操作 (1个知识点)
配置与日志 (1个知识点)
部署与运维 (1个知识点)
设计模式 (2个知识点)
进阶技巧 (2个知识点)
使用说明
- • 本手册涵盖 Go 语言从基础到并发实战、Web 服务的完整知识体系
- • 在搜索框输入关键词,快速定位相关知识点
- • 点击条目标题进入详情页,查看详细说明与代码示例
- • 页面按分类展示所有知识点,方便系统性学习
- • 建议安装 Go 环境并使用 VS Code 或 GoLand 进行实践