注意

记录一个 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
}

最新文章

  1. Ubuntu 16.04 LTS 安装R及RStudio Server
  2. 李洪强漫谈iOS开发[C语言-048]-打印平方表
  3. Lua利用cjson读写json示例分享
  4. linux ls -l 详解
  5. 关于static静态
  6. 操作系统——IO缓存技术
  7. 谷歌三大核心技术(二)Google MapReduce中文版
  8. How To Install Apache Kafka on Ubuntu 14.04
  9. viewpager 设置预加载项
  10. struct stat结构体简介
  11. Spring boot 整合 Mybatis (完整版)
  12. java idea 代码规范插件
  13. git 入门教程之实战 git
  14. Ajax使用formdata异步上传文件,报错the request was rejected because no multipart boundary was found
  15. Cyclic Nacklace hdu3746 kmp 最小循环节
  16. shell脚本编写informix数据库中表的导入和导出
  17. iOS开发如何学习前端(1)
  18. java对redis的基本操作(一)
  19. 程序媛计划——mysql基本操作
  20. 13-[函数进阶]-列表生成式,生成器&amp;迭代器

热门文章

  1. MySQL索引的基本理解
  2. Java流程控制:用户交互Scanner、选择结构
  3. 优化 Win11 资源管理器打开文件夹速度
  4. UnoCSS 简化 CSS 的书写
  5. 慧销平台ThreadPoolExecutor内存泄漏分析
  6. 【调试】ftrace(一)基本使用方法
  7. echarts 各个配置项详细说明总结
  8. elasticsearch相关概念及常用操作汇总
  9. httpRunner使用汇总
  10. gunicorn的功能及使用方法