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\n", args)
/*
使用内建函数len()求args的长度
内建函数(buildin function)是指无需主语,直接调用的函数
*/
fmt.Printf("args 的长度是%d\n", len(args))
//遍历不定长参数中的每一个数据
for i := 0; i < len(args); i++ {
// args[i]是参数中第i个数据
fmt.Printf("args中第%d个参数是%v\n", i, args[i]) // []int 整型切片(一种数据容器)
}
//求和
var sum int
for i := 0; i < len(args); i++ {
sum += args[i]
}
fmt.Printf("参数求和为:%d\n", 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\n", 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

  

Go语言的函数02---参数的更多相关文章

  1. C语言中函数可变参数解析

    大多数时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的所有实际参数.但在某些情况下希望函数的参数个数可以根据需要确定.典型的例子有 大家熟悉的函数printf().scanf ...

  2. 【C/C++开发】C语言实现函数可变参数

    函数原型: int printf(const char *format[,argument]...)        返 回 值: 成功则返回实际输出的字符数,失败返回-1.  函数说明:        ...

  3. C语言之函数可变参数

    先上一段代码: #include<cstdarg> #include<iostream> #include<string> using namespace std; ...

  4. c语言main函数的参数argc,argv说明

    main函数参数argc,argv说明   C/C++语言中的main函数,经常带有参数argc,argv,如下: int main(int argc, char** argv) int main(i ...

  5. c语言解决函数变参数问题 va_list

    前言:看到sprintf,swprintf之类的可变参数格式化函数,是否想过我们能写一个自定义的类似的函数吗?答案是很定的,下面来介绍一种方法,用va_list,va_start, va_end来实现 ...

  6. C语言main函数的参数

    在Windows下使用gcc编译器: 1.首先介绍下MinGW MinGW(Minimalist GNU for Windows),又称mingw32,是将GCC编译器和GNU Binutils移植到 ...

  7. C/C++语言参数传递----函数/方法 参数的指针引用传递

    int m_value = 1; void func(int *p) { p = &m_value; } int main(int argc, char *argv[]) { int n = ...

  8. c语言main函数返回值、参数详解(返回值是必须的,0表示正常退出)

    C语言Main函数返回值 main函数的返回值,用于说明程序的退出状态.如果返回0,则代表程序正常退出:返回其它数字的含义则由系统决定.通常,返回非零代表程序异常退出. 很多人甚至市面上的一些书籍,都 ...

  9. C语言函数可变参数列表

    C语言允许使用可变参数列表,我们常用的printf函数即为可变参数函数,C标准库提供了stdarg.h为我们提供了这方面支持:该头文件提供了一些类型和宏来支持可变参数列表,包括类型va_list,宏v ...

  10. JavaScript进阶系列02,函数作为参数以及在数组中的应用

    有时候,把函数作为参数可以让代码更简洁. var calculator = { calculate: function(x, y, fn) { return fn(x, y); } }; var su ...

随机推荐

  1. HUAWEI防火墙双出口据链路带宽负载分担

    组网图形 组网需求 通过配置根据链路带宽负载分担,使流量按照带宽的比例分担到各链路上,保证带宽资源得到充分利用. 如图1所示,企业分别从ISP1和ISP2租用了一条链路,ISP1链路的带宽为100M, ...

  2. 什么是JWT?原理是什么?

    什么是JWT JWT 是Json Web Tokens的简称.用百度上面的解释讲,是目前流行的跨域认证解决方案,一种基于JSON的.用于在网络上声明某种主张的令牌(token). JTW原理 jwt验 ...

  3. 030- 控制语句if…else…

    语法: 第一种结构: if(boolean表达式){ java语句; } 解释:如果if后面的boolean表达式是true就执行大括号里面的java语句 如果是false就不执行大括号中的java语 ...

  4. hdu 4099 字典树 + 斐波那契

    题意:       给你一个串(最长40位)问你这个串是斐波那契F(n)  n <= 99999中的那个数的前缀,如果存在多个输出最小的n否则输出-1. 思路:       给的串最长40位,那 ...

  5. Sqlmap的使用详解

    目录 Sqlmap Sqlmap的简单用法 探测指定URL是否存在SQL注入漏洞 查看数据库的所有用户 查看数据库所有用户名的密码 查看数据库当前用户 判断当前用户是否有管理权限 列出数据库管理员角色 ...

  6. HarmonyOS三方件开发指南(19)-BGABadgeView徽章组件

    目录: 1.引言 2.功能介绍 3.BGABadgeView 使用指南 4.BGABadgeView 开发指南 5.<HarmonyOS三方件开发指南>系列文章合集 引言 现在很多的APP ...

  7. 《前端运维》一、Linux基础--基础命令(1)

    在开始之前,你需要做一些准备工作,去阿里买一台服务器,服务器的具体细节其实并不是十分重要,我也不会在这里一步一步的教大家如何去买一个服务器.百度一下足够了,但是还是要贴一下这篇文章中,我所使用的服务器 ...

  8. 【】maven 配置启动tomcat版本,修改默认的6.x.x版本

    <build> <plugins> <!-- 配置Tomcat插件 ,用于启动项目 --> <plugin> <groupId>org.ap ...

  9. php笔记之魔术方法、魔法常量和超全局变量

    一.魔术方法(13个)1.__construct()实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用.2.__destru ...

  10. 全套office版本安装教程及下载地址

    1:office 2003 安装教程及下载地址 https://mp.weixin.qq.com/s/HHGFdiLgL-xhDAAlox2axw 2:office 2007 安装教程及下载地址 ht ...