Go语言中的类型和接口及方法的关系

简介: 朦着用了这么久, 概念一直不是很清楚, 经过这一轮的学习, 应该在大脑里可以进入深层记忆了吧。

朦着用了这么久,

概念一直不是很清楚,

经过这一轮的学习,

应该在大脑里可以进入深层记忆了吧。


函数是单一化应用。

方法可以绑定于类型。

接口用于定义方法集(记住:是方法集,不是函数集)


至于多态~~~

稍后就到!


19fe2b2b968a16fe29a26a96588cd58c4d4f59b2

627e1f120b7c3e10d43ab5111c99ba7e3a69b8b2


package main

import (
	"fmt"
)

type notifier interface {
	notify()
}

type user struct {
	name  string
	email string
}

func (u user) notify() {
	fmt.Printf("Sending User Email To %s<%s>\n",
		u.name,
		u.email)
}

func (u *user) changeEmail(email string) {
	u.email = email
}

func main() {
	bill := user{"Bill", "bill@email.com"}
	sendNotification(bill)

}

func sendNotification(n notifier) {
	n.notify()
}



目录
相关文章
|
5天前
|
存储 Go 容器
深入探究Go语言中的数据结构
深入探究Go语言中的数据结构
22 3
|
16天前
|
Go
Go 语言循环语句
在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。
25 1
|
5天前
|
Go
GO语言时间转换
GO语言时间转换
16 0
|
15天前
|
存储 Go
Go to Learn Go之接口
Go to Learn Go之接口
26 7
|
15天前
|
Go 开发者
探索Go语言的并发之美
在Go语言的世界里,"并发"不仅仅是一个特性,它是一种哲学。本文将带你领略Go语言中goroutine和channel的魔力,揭示如何通过Go的并发机制来构建高效、可靠的系统。我们将通过一个简单的示例,展示如何利用Go的并发特性来解决实际问题,让你的程序像Go一样,轻盈而强大。
|
2天前
|
Rust Go C语言
Python通过C动态链接库调用Go语言函数
Python通过C动态链接库调用Go语言函数
|
2天前
|
存储 Kubernetes Go
Go语言项目组织架构
Go语言项目组织架构
|
3天前
|
算法 安全 Go
Python与Go语言中的哈希算法实现及对比分析
Python与Go语言中的哈希算法实现及对比分析
12 0
|
16天前
|
Go
Go 语言接口
Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。 接口可以让我们将不同的类型绑定到一组公共的方法上,从而实现多态和灵活的设计。
10 0
|
5月前
|
存储 设计模式 Cloud Native
云原生系列Go语言篇-类型、方法和接口 Part 1
通过前面章节的学习,我们知道Go是一种静态类型语言,包含有内置类型和用户定义类型。和大部分现代编程语言一样,Go允许我们对类型关联方法。它也具备类型抽象,可以编写没有显式实现的方法。
79 0