go11 方法

简介: go11 方法

go11 方法

声明新类型


关键字 type 可以用来声明新类型:


type celsius float64


var temperature celsius = 20


虽然 Celsius 是一种全新的类型,但是由于它和 float64 具有相同的行为和表示,所以赋值操作能顺利执行。


例如加法等运算,也可以像 float64 那样使用。


70fe09d3163f49529d0a8da120082421.png


为什么要声明新类型:极大的提高代码可读性和可靠性。

不同的类型是无法混用的。

通过方法添加行为


在 C#、Java 里,方法属于类。

在 Go 里,它提供了方法,但是没提供类和对象。

Go 比其他语言的方法要灵活。

可以将方法与同包中声明的任何类型相关联,但不可以是 int、float64 等预声明的类型进行关联。



231e6da460a242578d932ac5bf8162a0.png


上例中,celsius 方法虽然没有参数。但它前面却又一个类型参数的接收者。

每个方法可以有多个参数,但只能有一个接收者。

在方法体中,接收者的行为和其它参数一样。

方法声明图解:

方法调用

变量 . 方法()



2c185ef1aa61459cb5510bfa9c6e5265.png


目录
打赏
0
0
0
0
38
分享
相关文章
|
2月前
|
Go语言方法与接收者 -《Go语言实战指南》
本文介绍了 Go 语言中方法的相关概念和用法。方法是绑定到特定类型上的函数,包含值接收者和指针接收者两种形式。值接收者不会改变原始数据,而指针接收者可修改原始数据,且在处理大型结构体时性能更优。文章详细对比了方法与普通函数的区别,并说明了选择指针接收者的原因,如修改原始值、提升性能及保持一致性。此外,Go 支持为任意自定义类型定义方法,不仅限于结构体。最后通过表格总结了方法的核心概念和使用场景。
Go语言项目高效对接SQL数据库:实践技巧与方法
在Go语言项目中,与SQL数据库进行对接是一项基础且重要的任务
197 11
GO方法与自定义类型
本文详细介绍了 Go 语言中的自定义数据类型与方法。不同于传统的面向对象编程语言,Go 通过结构体 (`struct`) 和方法 (`method`) 来扩展自定义类型的功能。文章解释了如何定义结构体、创建方法,并探讨了值接收器与指针接收器的区别及应用场景。此外,还介绍了方法的可见性以及接收器的命名惯例。通过具体示例,帮助读者更好地理解和应用这些概念。
|
11月前
|
在Ubuntu 16.04上安装Go 1.6的方法
在Ubuntu 16.04上安装Go 1.6的方法
136 1
|
11月前
|
在Ubuntu 18.04上安装Go的方法
在Ubuntu 18.04上安装Go的方法
169 1
|
11月前
|
在Ubuntu 14.04上安装Go 1.6的方法
在Ubuntu 14.04上安装Go 1.6的方法
139 1
[go 面试] 优化线上故障排查与性能问题的方法
[go 面试] 优化线上故障排查与性能问题的方法
AI助理

你好,我是AI助理

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