3.1. 第 1节:函数-函数定义和参数

未匹配的标注
本文档最新版为 2023,旧版本可能放弃维护,推荐阅读最新版!

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, "再见")
}

本文章首发在 LearnKu.com 网站上。

上一篇 下一篇
讨论数量: 0
发起讨论 只看当前版本


暂无话题~