Golang函数-函数的基本概念

          Golang函数-函数的基本概念

                             作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

 

 

 

一.函数的概述

1>.函数定义语法格式

  Go语言函数定义格式如下:
    func 函数名( 函数参数列表 ) 返回值列表 {
        函数体
        return 返回值列表
    }

  关于函数定义的名词解释:
    函数名:
      顾名思义,就是定义函数的名字,方便用户多次调用,函数名其实你完全理解成一个标识符,因此函数名的命名规范也需要遵循标识符的命名规范,详情请参考我之前的笔记:https://www.cnblogs.com/yinzhengjie2020/p/12244384.html。
      
    形参列表:
      在定义函数时指定的形参,在未出现函数调用时,它们并不占内存的存储单元,因此称它们是形式参数或虚拟参数,简称形参,表示它们并不是实际存在的数据,所以,形参里的变量不能像python那样不能赋默认值。

    返回值列表:
      主要定义定义返回值的类型和个数。

    函数体:
      即定义调用该函数要执行的源代码。

    返回值:
      函数的返回值是通过函数中的return语句获得的,return后面的值也可以是一个表达式,只要返回值类型和定义的返回值列表所匹配即可。Go语言支持多个返回值。

2>.实参和形参

  形参出现在函数定义中,在整个函数内部都可以使用,离开该函数则不能使用;

  实参出现在主调函数中,进入被调函数后,实参也不能使用;
  实参变量对形参变量的数据传递是"值传递",即单向传递,只由实参单向传递给形参,而形参不能传回来给实参;

  在调用函数时,编译系统临时会给形参分配存储单元。调用结束后,形参单元被释放;

  实参单元与形参单元是不同的单元。调用结束后,形参单元被释放,函数调用结束返回主调函数后则不能再使用该形参变量。实参单元仍保留并维持原值。因此,在执行一个被调用函数时,形参的值如果发生变化,并不会改变主调函数中实参的值。

  特此声明:上面关于形参的值描述指的是基础数据类型,而复合类型(有的语言称为)在后续的学习中你会发现有一定的差异,不用担心,在后面的笔记分享中你会慢慢体会到其中的奥妙~

3>.函数的返回值

  保证return语句中表达式的值和函数返回类型是同一类型,如果函数返回的类型和return语句中表达式的值不一致,程序则会报错;

  return语句的另一个作用为中断return所在的执行函数;

  如果函数带返回值,return后面必须跟着值

 

二.函数的基本使用

1>.定义一个加法函数,接收2个int类型的函数返回2个int相加的结果

package main

import (
    "fmt"
)

func add(a int, b int) (sum int) {
    sum = a + b
    return sum
}

func main() {

    x := 100
    y := 200

    res := add(x, y)

    fmt.Printf("x + y = %d\n", res)
}

2>.Go语言常用系统函数使用

  博主推荐阅读:
    https://www.cnblogs.com/yinzhengjie/p/12208030.html
    https://www.cnblogs.com/yinzhengjie/p/12203765.html

 

posted @ 2020-02-11 23:14  JasonYin2020  阅读(328)  评论(0编辑  收藏  举报