golang中的类和接口的使用

简介:

类使用:实现一个people中有一个sayhi的方法调用功能,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
type  People  struct  {
     //..
}
 
func  (p *People) SayHi() {
     fmt.Println( "************************* say hi !!" )
}
 
func  (this *LoginController) Get() {
     p := new(People)
     p.SayHi()
 
     this.TplName =  "login.html"
}

 

接口使用:实现上面功能,代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
type  People  struct  {
     //..
}
 
func  (p *People) SayHi() {
     fmt.Println( "************************* say hi !!" )
}
 
type  IPeople  interface  {
     SayHi()
}
 
func  (this *LoginController) Get() {
     var  p IPeople = new(People)
     p.SayHi()
 
     this.TplName =  "login.html"
}

 




本文转自王磊的博客博客园博客,原文链接:http://www.cnblogs.com/vipstone/p/5430667.html,如需转载请自行联系原作者

目录
打赏
0
0
0
0
60
分享
相关文章
Go语言之接口与多态 -《Go语言实战指南》
Go 语言中的接口是实现多态的核心机制,通过一组方法签名定义行为。任何类型只要实现接口的所有方法即视为实现该接口,无需显式声明。本文从接口定义、使用、底层机制、组合、动态行为到工厂模式全面解析其特性与应用,帮助理解 Go 的面向接口编程思想及注意事项(如 `nil` 陷阱)。
Go语言之空接口与类型断言
本文介绍了 Go 语言中空接口(`interface{}`)和类型断言的核心概念及其应用。空接口可存储任意类型数据,适用于通用函数、动态数据结构与 JSON 解析等场景;类型断言用于将接口变量还原为具体类型,推荐使用带 `ok` 的写法以避免程序崩溃。此外,文章通过示例讲解了 `type switch` 类型判断与 JSON 处理技巧,并总结了空接口的注意事项,强调滥用可能导致类型安全性降低。内容深入浅出,帮助开发者灵活运用这些特性。
|
2月前
|
Go
Go语言接口的定义与实现
Go 语言的接口提供了一种灵活的多态机制,支持隐式实现和抽象编程。本文介绍了接口的基本定义、实现方式、空接口的使用、类型断言以及接口组合等核心概念,并探讨了接口与 nil 的关系及应用场景。通过示例代码详细说明了如何利用接口提升代码的可扩展性和可测试性,总结了接口的关键特性及其在依赖注入、规范定义和多态调用中的重要作用。
百炼-千问模型通过openai接口构建assistant 等 go语言
由于阿里百炼平台通义千问大模型没有完善的go语言兼容openapi示例,并且官方答复assistant是不兼容openapi sdk的。 实际使用中发现是能够支持的,所以自己写了一个demo test示例,给大家做一个参考。
go 基于gin编写encode、decode、base64加密接口
go 基于gin编写encode、decode、base64加密接口
131 2
Go nil 空结构体 空接口有什么区别?
本文介绍了Go语言中的`nil`、空结构体和空接口的区别。`nil`是预定义的零值变量,适用于指针、管道等类型;空结构体大小为0,多个空结构体实例指向同一地址;空接口由`_type`和`data`字段组成,仅当两者均为`nil`时,空接口才为`nil`。
174 1
Go nil 空结构体 空接口有什么区别?
|
10月前
|
Go to Learn Go之接口
Go to Learn Go之接口
64 7
|
10月前
|
Go
Golang语言基础之接口(interface)及类型断言
这篇文章是关于Go语言中接口(interface)及类型断言的详细教程,涵盖了接口的概念、定义、实现、使用注意事项以及类型断言的多种场景和方法。
112 4
|
11月前
|
深入理解Go语言的接口
【8月更文挑战第31天】
76 0
AI助理
登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问

你好,我是AI助理

可以解答问题、推荐解决方案等