首页 > 其他分享 >go 函数

go 函数

时间:2023-10-30 17:33:49浏览次数:29  
标签:函数 int 传递 add func arg go

  1. 函数:
  • 声明:

  func 函数名字 (参数列表) (返回值列表){}


  • 举例:

  func add() {}

  func add(a int , b int) int {}

  func add(a int , b int) (int, int) {}


  • 特点:

  a. 不支持重载,一个包不能有两个名字一样的函数.

  b. 函数也是一种类型,一个函数可以赋值给变量(这个变量是一个指针指向函数地址).

  c. 匿名函数

  d. 多返回值

  e. type定义新的类型:type addFunc func(int, int) int  => 表示函数也是一种类型


  • 函数参数传递方式:

  a. 值传递

  b. 引用传递

  c. 值传递、引用传递,传递给函数的都是变量的副本.值传递是值的拷贝,引用传递是地址(8个字节)的拷贝.

  d. 一般来说,地址拷贝更为高效.值拷贝取决于拷贝的对象大小,对象越大,则性能越低.

  e. map、slice、chan、指针、interface默认以引用的方式传递.


  • 命名返回值的名字:

  func calc(a, b int) (sum int, avg int) {

     sum = a + b

     avg = (a +b) / 2

     return

  }


  • _标识符,用来忽略返回值.

  a, _ = add()

  _, a = add()


  • 可变参数:

  func add(arg…int) int {}              // 0个或多个参数

  func add(a int, arg…int) int {}       // 1个或多个参数,a是固定参数(可以有多个固定参数)

  a. arg是一个slice(切片).

  b. 通过arg[index]依次访问所有参数.

  c. 通过len(arg)来判断传递参数的个数.

标签:函数,int,传递,add,func,arg,go
From: https://blog.51cto.com/u_16298172/8095786

相关文章

  • 适用批处理的softmax函数的输入矩阵为什么要转置
    #适用批输入的softmax函数defSoftmax(x):ifx.ndim==2:x=x.Tx=x-np.max(x,axis=0)y=np.exp(x)/np.sum(np.exp(x),axis=0)returny.T#为什么要转置原因是Numpy数组的扩张原理是把行向量复制扩张成矩阵例子如下......
  • 数据库信息速递 MongoDB 在开发者工具中集成了AI功能提高开发工作者的效率 (译)...
    MongoDB在6月份向其NoSQLAtlas数据库服务(DBaaS)添加向量搜索功能之后,MongoDB正在为一些工具添加新的生成式AI功能,来以进一步提高开发者的工作效率。这些新功能已经添加到MongoDB的关系迁移工具中如,Compass、AtlasCharts工具中。在文档接口中,MongoDB添加了一个由AI驱动的聊天机器人......
  • 【GEE】Google Earth Engine(GEE)注册详细教程&无需教育邮箱
    ​    这个专栏真的是纠结了很久,不知道到底要不要分享自己在学习GEE的时候的一些经验和代码。因为本人在日常中使用Python和ENVI多点,虽然GEE也会用但不至于频繁使用,同时针对GEE其实官网给出了很多接口的使用方法,国内外也有很多人分享过一些实操代码,因此大部分代码可能都......
  • Django实战项目-学习任务系统-定时任务管理
    接着上期代码框架,开发第4个功能,定时任务管理,再增加一个学习定时任务表,主要用来设置周期重复性的学习任务,定时周期,定时时间,任务标题和内容,预计完成天数,奖励积分和任务状态等信息。 现实中学习一门课程或一项技能知识,需要很长时间的学习积累才能学会,不像小说世界,游戏世界等虚拟世......
  • 使用c#在指定的时间内等待函数执行结果
    在指定的时间内等待某个函数的执行结果的方法。该方法接受三个参数:等待的最大时间、等待的频率和要等待的函数。方法会在指定的时间内每隔一定频率检查函数的执行结果,如果在等待时间内函数返回了true,则表示等待成功,返回true;如果超过等待时间仍未返回true,则表示等待失败,返回false。......
  • PostgreSQL(kingbaseES) 中,可以使用 unnest 函数将一个包含多个值的字符串分割成多行
    在PostgreSQL中,您可以使用unnest函数将一个包含多个值的字符串分割成多行。unnest函数将一个数组(或者像我们的情况下是由STRING_TO_ARRAY函数生成的数组)展开为多行数据。假设您有一个表my_table,其中包含一个名为my_column的字符串列,其内容如下:my_column-----------......
  • MIGO Runtime Errors MESSAGE_TYPE_X program SAPLCKM4 in PERIODENART_BESTIMMEN
    用户在测试环境执行MIGO,系统dump检查系统后,发现是物料账期错误 修改账期,系统正常 ......
  • 使用c#在指定的时间内等待函数执行结果
    在指定的时间内等待某个函数的执行结果的方法。该方法接受三个参数:等待的最大时间、等待的频率和要等待的函数。方法会在指定的时间内每隔一定频率检查函数的执行结果,如果在等待时间内函数返回了true,则表示等待成功,返回true;如果超过等待时间仍未返回true,则表示等待失败,返回false。......
  • 电影推荐与管理系统Python+Django网页界面+协同过滤推荐算法【计算机毕设项目】
    一、介绍电影推荐管理系统。本系统使用Python作为主要开发语言,前端采用HTML、CSS、BootStrap等技术语言框架搭建展示界面,后端采用Django作为功能逻辑处理,并使用Ajax实现前端与和后端的通信。其主要实现功能如下:系统平台分为管理员和用户两个角色用户可以登录、注册、查看电影、发表......
  • glob库函数使用方法
    glob模块是用来获取文件路径的一个常用模块。它可以根据用户指定的路径来搜索文件,然后返回符合规则的文件路径列表。一、glob库函数的基本用法glob库需调用glob.glob()函数并传入特定的路径规则。路径规则可以包含通配符,例如使用*来匹配任意个字符,使用?来匹配单个字符。以下是一......