第 8 节:函数-函数定义和参数

1:函数定义和使用

package main

import "fmt"

//func 函数名(参数列表)(返回值列表){
//代码体
//}
//函数定义 只能定义一次
//在整个项目中函数名是唯一的 不能重名
func add(s1 int, s2 int) {
    sum := s1 + s2
    fmt.Println(sum)
}

func main() {
    //fmt.Println("你好")
    //v := len("你好")
    //fmt.Println(v)
    a := 10
    b := 20

    //函数调用 函数可以多次调用
    //在函数调用时参数为实际参数(实参)有具体的值 用来给形式参数(形参)传递数据
    add(a, b)
    add(1, 2)
}

2:普通参数列表

所谓的普通参数列表指的是,我们给函数传递的参数的个数都是确定好。基本语法如下:

代码在上面

3:不定参数列表

根据前面的讲解,我们都知道了,在定义函数的时候根据需求指定参数的个数和类型,但是有时候如果无法确定参数的个数呢?
举例说明:上一小节我们写过一个求两个整数之和的函数,但是在实际的开发中,也会经常遇到这样的情况,就是项目经理(对整个项目的进度进行把控,对程序员进行管理的人员,称为项目经理),要求你写一个函数,实现整数的和。在这个要求中,项目经理并没有说清楚到底是有几个整数,那么我们应该怎样确定该函数的参数呢?就用接下来给大家讲解的“不定参数列表”来解决这个问题

package main

import "fmt"

//...不定参 在函数调用时可以传递不定量(0-n)的参数
//不定参使用数据格式为切片
func sum(arr ...int) {
    //arr是一个数据的集合
    //fmt.Println(arr)

    //计算字符串个数
    //len("你好")
    //计算数据集合的个数
    //count := len(arr)
    //fmt.Println(count)

    //通过arr[下标]可以找到具体数据的值
    //下标是从0开始的  到len(arr)-1为最大值下标
    //fmt.Println(arr[0])
    //fmt.Println(arr[1])
    //fmt.Println(arr[2])
    //fmt.Println(arr[3])

    sum := 0
    //通过for循环遍历集合中的数据
    //for i := 0; i < len(arr); i++ {
    //  //fmt.Println(arr[i])
    //  sum += arr[i]
    //}
    //通过for循环遍历集合中的数据
    //i -> index 下标 v -> value 值
    //_匿名变量  如果数据的值不需要接收  可以通过匿名变量来接收数据
    for _, v := range arr {
        //fmt.Println(i, v)
        sum += v
    }
    fmt.Println(sum)
}
func main() {
    //不定参函数调用
    sum(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    sum(12, 21, 23, 32)

    //fmt.Println 就是一个不定参的格式
    fmt.Println("你好", 123, "再见")
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
嗨,我是波波。曾经创业,有收获也有损失。我积累了丰富教学与编程经验,期待和你互动和进步! 公众号:上海PHP自学中心 付费知识星球:破解面试:程序员的求职导师
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 欣昊玉
文章
273
粉丝
339
喜欢
557
收藏
1104
排名:64
访问:12.2 万
私信
所有博文
社区赞助商