干货来了!!!为了让更多的小伙伴喜欢Golang、加入Golang之中来,Golang语言社区发起人彬哥联合业界大牛共同推出了Go语言基础、进阶、提高课程,目前已在网易云课堂限时特价分享,希望有兴趣的朋友们多多分享和支持!
以下是Go语言基础、进阶、提高课程--第十节 Go语言函数方法(上)的部分文本教案,具体详细视频课程请扫描文章下方图片二维码或点击阅读原文!
Go 语言中同时有函数和方法。一个方法就是一个包含了接受者的函数,接受者可以是命名类型或者结构体类型的一个值或者是一个指针。所有给定类型的方法属于该类型的方法集。语法格式如下:
1 func (variable_name variable_data_type) function_name() [return_type]{
2 /* 函数体*/
3 }
下面定义一个结构体类型和该类型的一个方法:
1 package main
2
3 import (
4 "fmt"
5 )
6
7 /* 定义结构体 */
8 type Circle struct {
9 radius float64
10 }
11
12 func main() {
13 var c1 Circle
14 c1.radius = 10.00
15 fmt.Println("Area of Circle(c1) = ", c1.getArea())
16 }
17
18 //该 method 属于 Circle 类型对象中的方法
19 func (c Circle) getArea() float64 {
20 //c.radius 即为 Circle 类型对象中的属性
21 return 3.14 * c.radius * c.radius
22 }
以上代码执行结果为:
1Area of Circle(c1) = 314