Golang var 和文字用法
Posted
技术标签:
【中文标题】Golang var 和文字用法【英文标题】:Golang var and literal usage 【发布时间】:2019-05-07 00:07:08 【问题描述】:选项 1
var employees []Employee
session.Employees = employees
选项 2
session.Employees = []Employee
对于 session.Employees 执行后的两个 Golang 代码选项有何不同(如果有)?
【问题讨论】:
【参考方案1】:您的第一个版本将employees
变量的值分配给session.Employees
。它将是[]Employee
类型的zero value,即nil
。你可以简单地写成:
session.Employees = nil
您的第二个版本分配了 composite literal 的值,该值将是一个空(长度=0,容量=0)但非nil
切片。
查看相关问题:
nil slices vs non-nil slices vs empty slices in Go language
What is the point of having nil slice and empty slice in golang?
Correct way to initialize empty slice
【讨论】:
谢谢。欣赏详细说明该主题的链接。以上是关于Golang var 和文字用法的主要内容,如果未能解决你的问题,请参考以下文章
golang中的三个点 '...' 的用法