GoLang学习

栏目: Go · 发布时间: 7年前

Go函数

  • Go函数定义

    func function_name( [parameter list] ) [return_types] {
       函数体
    }
    • func:Go的函数声明关键字,声明一个函数。
    • function_name:函数名称,函数名和参数列表一起构成了函数签名。
    • parameter list:参数列表,指定的是参数类型、顺序、及参数个数。参数是可选的,即函数可以不包含参数。参数就像一个占位符,这是参数被称为形参,当函数被调用时,将具体的值传递 给参数,这个值被称为实际参数。
    • return_types:返回类型,函数返回一列值。return_types 是该列值的数据类型。这里需要注意的是 Go 函数支持多返回值。有些功能不需要返回值,这种情况下 return_types 不是必须的。
    • 函数体:函数定义的代码集合,表示函数完成的动作。

函数调用

  • 1.小写字母开头的函数只在本包内可见,大写字母开头的函数才能被其他包使用。
  • 2.同时这个规则也适用于变量的可见性,即首字母大写的变量才是全局的

    func max(num1,num2 int) int  {
        var result int
        if num1 > num1 {
            result = num1
        }else {
            result = num2
        }
        return result
    }
    
    func main()  {
        var a int = 100
        var b int = 200
        var ret int
        ret = max(a,b)
        fmt.Println(ret)
    }
  • 多返回值

    func swap(x,y string) (string,string)  {
         return y,x
     }
     func main()  {
         //a,b := swap("hello","world")
         a,_ := swap("hello","world") //只关注一个值可以使用下划线代替
         fmt.Println(a)
     }

函数参数

  • 值传递:指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。
  • 引用传递:是指在调用函数时将实际参数的地址传递到函数中,那么在函数中对参数所进行的修改,将影响到实际参数。
* 值传递
c main()  {
    var a int = 100
    var b int = 200
    fmt.Println("交换前",a)
    fmt.Println("交换后",b)
    swap(a,b)
    fmt.Println("交换后",a)
    fmt.Println("交换后",b)
}
func swap(x,y int) int  {
    var temp int
    temp = x
    x = y
    y = temp
    return temp
}
* 执行效果

![clipboard.png](/img/bVbljsg)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Web Analytics 2.0

Web Analytics 2.0

Avinash Kaushik / Sybex / 2009-10-26 / USD 39.99

The bestselling book Web Analytics: An Hour A Day was the first book in the analytics space to move beyond clickstream analysis. Web Analytics 2.0 will significantly evolve the approaches from the fir......一起来看看 《Web Analytics 2.0》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具