我有这三行工作:

mraStr := models.MRA{}
yamlContent := loader.LoadFile("../mraProj/mra.yaml")
mraStr = Parse(yamlContent)

我的问题是,是否有办法在golang的一行中编写这两行?
mraStr := models.MRA{}
mraStr = Parse(yamlContent)

最佳答案

给定loader.LoadFile(返回单个值)和Parse(返回models.MRA)的隐式签名,您可以简单地使用short variable declaration:

mraStr := Parse(loader.LoadFile("../mraProj/mra.yaml"))

如果要指定类型(例如:因为Parse返回接口),则可以使用更明确的variable declaration:
var mraStr models.MRA = Parse(loader.LoadFile("../mraProj/mra.yaml"))

关于go - Go中结构分配的简写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48316860/

10-12 23:48