Golang基础编程(二)-函数、方法、接口

一、函数

Go 语言函数定义格式如下:

func function_name( [parameter list] ) [return_types] {
   函数体
}

函数定义解析:

  • func:函数由 func 开始声明
  • function_name:函数名称,参数列表和返回值类型构成了函数签名。
  • parameter list:参数列表,参数就像一个占位符,当函数被调用时,你可以将值传递给参数,这个值被称为实际参数。参数列表指定的是参数类型、顺序、及参数个数。参数是可选的,也就是说函数也可以不包含参数。
  • return_types:返回类型,函数返回一列值。return_types 是该列值的数据类型。有些功能不需要返回值,这种情况下 return_types 不是必须的。
  • 函数体:函数定义的代码集合。

函数-示例

函数-调用

输出结果:

max: 24

函数多返回值

输出结果:

Def Abc

二、方法

· Go中没有类,但是可以为结构体定义方法,方法就是一类带有特殊的接收者参数的函数。方法接收者在它自己的参数列表内,位于func关键字和方法名之间

· 接收者可以是struct, interface,自定义的任意类型。但接收者声明必须在同一个包内,非内建类型。

 

输出结果:

Area.getArea=314.00

备注补充:

1. 在golang中有两个特殊的函数,main函数和init函数,main函数不用介绍在所有语言中都一样,它作为一个程序的入口,只能有一个。init函数在每个package是可选的,可有可无,甚至可以有多个(但是强烈建议一个package中一个init函数),init函数在你导入该package时程序会自动调用init函数,所以init函数不用我们手动调用,l另外它只会被调用一次,因为当一个package被多次引用时,它只会被导入一次。

2.接收者是指针和非指针的区别,当接收者为指针时,我们可以通过方法改变该接收者的属性,但是非指针类型缺做不到。

三、接口

Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。

接口-示例:

输出结果:

I am Nokia,I can call you

I am IPhone,I can call you

new函数

表达式new(T)将创建一个T类型的匿名变量,所做的是为T类型的新值分配并清零一块内存空间,然后将这块内存空间的地址作为结果返回,而这个结果就是指向这个新的T类型值的指针值,返回的指针类型为*T。

我们只需使用new()函数,无需担心其内存的生命周期或怎样将其删除,因为Go语言的内存管理系统会帮我们打理一切。

空接口

·空接口可以用来承接任何不确定的类型

·空接口作为参数类型,可以传递任意类型

输出结果:

(<nil>,<nil>)

(42,int)

(hello,string)

 

posted on 2021-06-06 22:00  进击的qing  阅读(213)  评论(0编辑  收藏  举报