• go语言基础之函数


    一、函数

    1、定义格式

    函数构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。

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

    func FuncName(/*参数列表*/) (o1 type1, o2 type2/*返回类型*/) {
        //函数体
     
        return v1, v2 //返回多个值
    }
     

    函数定义说明:

    l  func:函数由关键字 func 开始声明

    l  FuncName:函数名称,根据约定,函数名首字母小写即为private,大写即为public

    l  参数列表:函数可以有0个或多个参数,参数格式为:变量名 类型,如果有多个参数通过逗号分隔,不支持默认参数

    l  返回类型:

    ① 上面返回值声明了两个变量名o1和o2(命名返回参数),这个不是必须,可以只有类型没有变量名

    ② 如果只有一个返回值且不声明返回值变量,那么你可以省略,包括返回值的括号

    ③ 如果没有返回值,那么就直接省略最后的返回信息

    ④ 如果有返回值, 那么必须在函数的内部添加return语句

    二、无参无返回值函数

    示例:

    package main //必须有一个main包
    
    import "fmt"
    
    func main() {
    	MyFunc()
    }
    
    func MyFunc() {
    	a := 666
    	fmt.Println("a = ", a)
    }
    

    #执行结果:

    a =  666
    

      

    三、普通参数列表

    示例1: 传一个参数

    package main //必须有一个main包
    
    import "fmt"
    
    func MyFunc01(a int) {
    	//有参无返回值函数的定义, 普通参数列表
    	//定义函数时, 在函数名后面()定义的参数叫形参
    	//参数传递,只能由实参传递给形参,不能反过来, 单向传递
    	fmt.Println("a = ", a)
    }
    
    func main() {
    	MyFunc01(666)
    }
    

    #执行结果:

    a =  666
    

      

    示例2 :传多个传数

    package main //必须有一个main包
    
    import "fmt"
    
    func MyFunc02(a int, b int) {
    
    	fmt.Printf("a = %d, b = %d
    ", a, b)
    }
    
    func main() {
    	MyFunc02(666, 777)
    }
    

    #执行结果:

    a = 666, b = 777
    

      

    示例3: (同上,另一种写法)

    package main //必须有一个main包
    
    import "fmt"
    
    func MyFunc03(a, b int) {
    
    	fmt.Printf("a = %d, b = %d
    ", a, b)
    }
    
    func main() {
    	MyFunc03(666, 777)
    }
    

    #执行结果:

    a = 666, b = 777
    

      

    示例4: 其它写法

    1、第5种
    func MyFunc04(a int, b string, c float64) { }
    2、第6种 func MyFunc05(a, b string, c float64, d, e int) { }
    3、第7种
    func MyFunc06(a string, b string, c float64, d int, e int) { }

      

  • 相关阅读:
    androidstudio提示adb错误:cannot parse version string:kg01的解决方法
    mysql常用运行原理
    shiro认证授权
    Java多线程入门(一)——多线程基本概念
    CSS简单入门
    H5入门这一篇就够了
    Java IO流详解(八)——其他流的使用
    Java IO流详解(七)——对象流(序列化与反序列化)
    Java IO流详解(六)——转换流
    Java IO流详解(五)——缓冲流
  • 原文地址:https://www.cnblogs.com/nulige/p/10202417.html
Copyright © 2020-2023  润新知