zoukankan      html  css  js  c++  java
  • Go语言的函数02---参数

    package main
    
    import "fmt"
    
    /*
    常量,变量,函数---源代码的成员
    给成员命名的字符称之为【标识符】
    合法的标识符有:大小写字母,数字,下划线
    命名时不能以数字开头
    */
    
    func Add0() {
    	fmt.Println("Add0")
    }
    
    /*有参函数*/
    func Add1(arg int) {
    	fmt.Println("Add1", arg)
    }
    
    /*多个参数,同种类型*/
    func Add2(a int, b int) {
    	sum := a + b
    	fmt.Println("参数之和是", sum)
    }
    
    func Add3(a, b int) {
    	sum := a + b
    	fmt.Println("参数之和是", sum)
    }
    
    /*多个参数,不同类型*/
    func Add4(a, b int, c float64, d float64) {
    	aFloat := float64(a)
    	bFloat := float64(b)
    	sum := aFloat + bFloat + c + d
    	fmt.Println("参数之和是", sum)
    }
    
    /*
    不定长参数
    args 接受任意多个整型参数
    */
    func Add5(args ...int) {
    	fmt.Println(args)
    	fmt.Printf("args 的类型是%T
    ", args)
    	/*
    	使用内建函数len()求args的长度
    	内建函数(buildin function)是指无需主语,直接调用的函数
    	*/
    	fmt.Printf("args 的长度是%d
    ", len(args))
    	//遍历不定长参数中的每一个数据
    	for i := 0; i < len(args); i++ {
    		// args[i]是参数中第i个数据
    		fmt.Printf("args中第%d个参数是%v
    ", i, args[i]) // []int 整型切片(一种数据容器)
    	}
    	//求和
    	var sum int
    	for i := 0; i < len(args); i++ {
    		sum += args[i]
    	}
    	fmt.Printf("参数求和为:%d
    ", sum)
    }
    
    /*
    定长参数和不定长参数混用
    
    不定长参数只能有一个
    不定长参数必须在最后一个
    */
    
    func Add6(a, b int, args ...float64) {
    	aFloat := float64(a)
    	bFloat := float64(b)
    	sum := aFloat + bFloat
    	for i := 0; i < len(args); i++ {
    		sum += args[i]
    	}
    	fmt.Printf("参数之和:%f
    ", sum)
    }
    
    func main() {
    	Add4(1, 2, 3, 4)
    	Add5(1, 2, 3, 4, 7)
    	Add6(1, 2, 3, 4, 10)
    }
    

    输出:

    参数之和是 10
    [1 2 3 4 7]
    args 的类型是[]int
    args 的长度是5
    args中第0个参数是1
    args中第1个参数是2
    args中第2个参数是3
    args中第3个参数是4
    args中第4个参数是7
    参数求和为:17
    参数之和:20.000000
    

      

  • 相关阅读:
    构造函数
    时延(delay,latency)
    吞吐量
    带宽(band-width)
    单位
    bps
    比特(bit)
    速率
    C语言中的“>>”和“<<”
    C#中unit
  • 原文地址:https://www.cnblogs.com/yunweiqiang/p/11789056.html
Copyright © 2011-2022 走看看