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统计出其中英文字母空格数字和其它字符的个数

golang中的三个点 '...' 的用法

Golang 为每个过滤成一个新的 var

golang golang exec的用法

Golang 中的 Firestore gRPC API 示例用法

golang profile用法