go 的形参
注意
记录一个 go
语言编程中,可能不小心忽略的一个点,
当函数的
出参
如果是 数组、结构体、字典 类型时,是不需要声明的,可以直接使用。但是如果
出参
是指针
类型,则必须要显示的声明。
代码示例
type person struct {
name string
}
func main() {
r := getList()
fmt.Println(r)
m := getMap()
fmt.Println(m)
p := getPerson()
fmt.Println(p)
// 会报错
pp := getPointer()
fmt.Println(pp)
}
func getList() (l []int) {
for i := 0; i < 10; i++ {
l = append(l, i)
}
return l
}
func getMap() (m map[int]int) {
for i := 0; i < 5; i++ {
m[i] = i
}
return m
}
func getPerson() (p person) {
p.name = "张三"
return p
}
func getPointer() (p *person) {
p.name = "张三"
return p
}
go 的形参的更多相关文章
- C++:一般情况下,设计函数的形参只需要两种形式
C++:一般情况下,设计函数的形参只需要两种形式.一,是引用形参,例如 void function (int &p_para):二,是常量引用形参,例如 void function(const ...
- 《征服 C 指针》摘录5:函数形参 和 空的下标运算符[]
一.函数的形参的声明 C 语言可以像下面这样声明函数的形参: void func(int a[]) { // ... } 对于这种写法,无论怎么看都好像要向函数的参数传递数组. 可是,在 C ...
- python学习道路(day4note)(函数,形参实参位置参数匿名参数,匿名函数,高阶函数,镶嵌函数)
1.函数 2种编程方法 关键词面向对象:华山派 --->> 类----->class面向过程:少林派 -->> 过程--->def 函数式编程:逍遥派 --> ...
- C++ 函数形参发生动态绑定时指针增长步长与静态类型一致
牛客网上的题: class A { public: long a; }; class B : public A { public: long b; }; void seta1(A* data, int ...
- C语言 01 形参实参
之前的都在印象笔记记录 continue 结束本轮循环体,进入下一次循环.break 直接结束整个while循环 形参:定时函数时函数名后面中的参数实参:调用函数时传入的具体数据基本数据类型作为形参, ...
- python3 函数的形参、实参、位置参数、默认参数、关键字参数以及函数的递归
python 版本 3.5 #Author by Andy#_*_ coding:utf-8 _*_def func(x,y=2): print('我是形参%s'%x) print('我是默认参y-- ...
- 问题:C++形参默认值为什么一定要放在最后?
问题:C++形参默认值为什么一定要放在最后? 1.会出现歧义! 2.从汇编角度看是怎么回事? 待解答!!
- 形参是ofstream
今天写了一段代码报错 void GetEigenvalue(pcl::PointCloud<pcl::PointXYZ>::ConstPtr cloud, vector<int> ...
- 通过指定函数/方法形参类型提高PHP代码可靠性
指定形参类型是PHP 5就支持的一项特性.形参支持array - 数组. object - 对象两种类型. class User{ public $name; public $password; fu ...
- c++形参改变实参(对指针的理解
这几天搞逻辑比较晕,居然把指针的概念都混淆了. eg:int *p;//当然不对指针初始化在有些编译器是通不过编译的,比如VS(尤其是选中了SDL) 指针p是一个对象,定义开始没有分配了内存空间,只是 ...
随机推荐
- 郁金香 注入DLL代码 与MFC窗口DLL文件 开源
10/10号更新 DLL注入器注入DLL卡死 问题 新增打开控制台 将阳光输出到控制台中 注入DLL代码 1 #include <stdio.h> 2 #include<Window ...
- Java开发环境配置(win7-64bit)
Java开发环境配置(win7-64bit) java Java开发环境配置(win7-64bit) Java开发环境配置(win7-64bit) 1.概述 2.文本用到的工具 3.环境变量配置 4. ...
- 手机访问wamp及wampserver64设置开放权限后局域网无法连接
服务器配置:在手机上WampServer电脑端网页的效果! 1.本地虚拟主机下的 Apache 目录中的bin 目录中的 config 配置文件 http.config文件使用代码编辑器. 2.将ht ...
- js/jquery 所有页面点击事件(持续更新)
// 切换菜单 <div class="box"> <div class="box-item" id=" ...
- Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.
Scss/Sass 项目里使用 / 报错:Using / for division outside of calc() is deprecated and will be removed in Dar ...
- KingbaseES R6集群物理copy方式手工添加新备库节点
案例说明:对于主库数据量比较大的环境,在添加新节点是可以采用在线clone方式创建新的备库节点,也可以在离线的状态下,直接拷贝其中一个备库的所有集群相关目录来创建新的备库节点.本案例介绍了通过离线物理 ...
- cximage菜单(Load Jpeg Resource)
// 菜单项 cximage->resource->Load Jpeg Resource //CxImage\demo\demo.cpp ON_COMMAND(ID_CXIMAGE_LOA ...
- CGLB动态代理
CGLB动态代理 一.CGLIB实现接口 public interface ProductInterface { void test(); } /** * 用来测试接口 */ private stat ...
- ASP判断一个字符是否为汉字的两种方法
有的时候我们要求用户一定要输入汉字的信息,比如姓名和地址.那么,如何判断一个字符是不是汉字呢?其实在asp中至少有两种方法: 一.直接将某字符用asc转为ascii码,如果是英文,他应该是0-127的 ...
- SAP SPOOL_INTERNAL_ERROR
运行SE38程序 RSPO0041