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. Typora 修改代码块高亮样式

    目录 方法一:下载自己喜欢的样式 方法二:获取Typora自制主题 方法三:自己撰写css样式文件 方法一:下载自己喜欢的样式 Typora的代码块语法高亮使用的是CodeMirror实现的,所以需要 ...

  2. 11- APP性能测试GT工具的使用

    对性能测试来说有服务端的性能与客户端(APP)的性能. GT简介 1.GT(随身调)是APP的随身调测平台,它是直接运行在手机上的"集成调试环境"(IDTE) 2.利用GT,仅凭一 ...

  3. win10 添加全局快捷键

    前言 好久没写博客了,今天水一下 如何在win10 下添加一个全局唤醒的快捷键(打开截图软件) 步骤 win + Q 输入 管理工具 添加快捷方式 这里没有管理员权限,可以直接把创建好的 快捷方式 粘 ...

  4. featureCarousel.js 3d轮播图插件

    jQuery Feature Carousel 插件是国外的一比较优秀的旋转木马图片插件. 点击这里进入原文. 插件特点: 1.处理div的3d旋转木马效果. 2.支持一个中心,2个侧面的功能 3.中 ...

  5. SpringCloud之远程调用OpenFeign和Ribbon

    Ribbon.Feign和OpenFeign的区别 SpringCloudAlibaba微服务实战教程系列 Spring Cloud 微服务架构学习记录与示例 一 简介 Feign是Netflflix ...

  6. (Py练习)日期格式转换

    #将日期转换为易读的格式 #使用dateuti包 from dateutil import parser dt = parser.parse("Mar 6 2019 12:00AM" ...

  7. 使用navicat连接阿里云上mysql

    使用宝塔面板安装mysql Linux基本内容,里面有涉及到安装Mysql 修改密码 而且也要在数据库的菜单中设置root密码 修改后密码后进行登录,就不会出现下面的报错了 [root@centos7 ...

  8. Educational Codeforces Round 96 (Rated for Div. 2)

    A. Number of Apartments 题意:求方程的解 思路:直接模拟就行 代码: #include<iostream> #include<cstdio> #incl ...

  9. Ubuntu执行命令时,不sudo提示权限不足,sudo提示找不到该命令

    问题:Ubuntu执行命令时,不sudo提示权限不足,sudo提示找不到该命令 补充描述:尝试将命令所在路径添加到/etc/profile中(所有用户环境变量),结果sudo -i切换到root用户后 ...

  10. Flutter 2.2 现已发布!

    在本次 Google I/O 2021 大会 上,我们正式发布了 Flutter 2.2.Flutter 2.2 是我们最新版的开源工具包,可让开发者立足单个平台构建适合任何设备的精美应用.Flutt ...