zoukankan      html  css  js  c++  java
  • go 函数

    一、语法

    声明语法:func 函数名 (参数列表) [(返回值列表)] {}

    二、特点

    2.1不支持重载(可以编写多个同名函数,只要它们拥有不同的形参与/或者不同的返回值)

    2.2函数可以赋值给变量

    2.3多返回值

    2.4匿名函数

    三、传递方式:

    3.1值传递

       基本的数据类型是值传递

    3.2地址传递(引用传递)

      map、slice、chan、指针、interface默认以引用的方式传递

    四、返回值命名

    package main
    
    import "fmt"
    
    
    func main(){
    	ab,bc,cd := mingmin(3,4)
    	fmt.Println(ab,bc,cd)
    	ab,bc,cd = ismingmin(3,4)
    	fmt.Println(ab,bc,cd)
    }
    
    func mingmin(x1, x2 int)(x3 ,x4 ,x5 int ){
    	x3 = x1 + x2
    	x4 = x1 * x2
    	x5 = x1 - x2
    	return
    }
    
    func ismingmin(x1, x2 int)(x3,x4,x5 int){
    	return x1 * x2,x1+x2,x1-x2
    }
    

    五、可变参数(重点,难点):

      ...代表函数可变

    package main
    
    import "fmt"
    
    func main() {
    	x := min(1, 2, 3, 0)
    	fmt.Printf("The minimum is:%d
    ", x)
    	slice := []int{7, 9, 3, 5, 10}
    	x = min(slice...)
    	fmt.Printf("The minimum in the slice is: %d", x)
    }
    
    func min(s ...int) int {
    	if len(s) == 0 {
    		return 0
    	}
    	min := s[0]
    	for _, v := range s {
    		if v < min {
    			min = v
    		}
    	}
    	return min
    }
    //输出

    The minimum is:0
    The minimum in the slice is: 3

     

    六、defef和

  • 相关阅读:
    XP IIS COM+ 应用程序无法打开
    SQL 连接字符串
    WebSocket
    一个很详细的web.xml讲解
    Maven+SpringMVC+SpringFox+Swagger整合示例
    poj 1691 Painting A Board (DFS/状态压缩DP)
    poj 3373 Changing Digits (DFS+剪枝)
    hdu 1171 Big Event in HDU (母函数)
    鸽巢定理
    poj 1724 ROADS
  • 原文地址:https://www.cnblogs.com/liubiaos/p/9363562.html
Copyright © 2011-2022 走看看