zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    docker harbor 修改密码 重置密码 sql
    mongodb监控并在服务挂掉后自动重启脚本
    centos7 ffmpeg安装 rtsp相关
    vscode vue 自动格式化代码
    开启go module
    Python3.x:打包为exe执行文件(window系统)
    Docker 日志都在哪里?怎么收集?
    HttpsURLConnection信任任何证书
    SP3734 PERIODNI
    联赛前的记录
  • 原文地址:https://www.cnblogs.com/qingfj/p/14856582.html
Copyright © 2011-2022 走看看