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. k8s新手必看

    转载自https://juejin.im/post/6844903840139968520 Kubernetes零基础快速入门!初学者必看! 起源 Kubernetes 源自于 google 内部的服 ...

  2. Alpine镜像

    Alpine Linux 是一个面向安全,轻量级的基于musl libc与busybox项目的Linux发行版. Alpine 提供了自己的包管理工具 apk,可以通过 https://pkgs.al ...

  3. 2- 计算机的组成以及VMware使用

    计算机的组成: 硬件: 处理器(CPU):I3 I5 I7 运行内存RAM(存储数据) 容量(字节为单位) 主板(总线设备) 输入输出设备(显示屏,键盘,鼠标,触目屏) 外部存储设备(硬盘,U盘,TF ...

  4. 用laravel Maatwebsite\Excel 教你导出漂亮的Excel表单

    先来看效果图 还算是漂亮吧 哈哈哈. 第一步当然是安装包咯 环境要求 PHP: ^7.0Laravel: ^5.5 composer require maatwebsite/excel 目前3.1 只 ...

  5. Python小程序 -- 人民币小写转大写辅助工具

    大家应该都知道,银行打印账单有时候会跟上人民币的阿拉伯数字以及人民币汉字大写写法,转换的过程中有一定的逻辑难度,较为麻烦,所以笔者心血来潮,花了点时间简单实现了一下这一转换过程,以供初学者参考. 输入 ...

  6. vue.js在html页面中的使用

    1.加载vue.js,然后 var app = new Vue({ //vue代码})2.截图如下:

  7. HashMap 的数据结构

    目录 content append content HashMap 的数据结构: 数组 + 链表(Java7 之前包括 Java7) 数组 + 链表 + 红黑树(从 Java8 开始) PS:这里的& ...

  8. 基于texlive定制chemfig化学式转换Python服务镜像

    chemfig 据别人介绍,在绘制平面分子式,乃至化学反应式.机理图时,大家使用的基本都是ChemDraw.当然ChemDraw是一款强大的软件,无论是平面的还是立体的分子结构式都能毫不费力地绘制出来 ...

  9. Kafka源码分析(二) - 生产者

    系列文章目录 https://zhuanlan.zhihu.com/p/367683572 目录 系列文章目录 一. 使用方式 step 1: 设置必要参数 step 2: 创建KafkaProduc ...

  10. appium等待元素

    1.sleep()方法 Thread.sleep(60000)强制等待60s 2.隐式等待implicitlyWait() driver.manage().timeouts().implicitlyW ...