请勿尝试将其他语言的方法和编程模式移植到Go中-充其量会使您的生活更艰难,而在最坏的情况下会流下眼泪。
考虑诸如牛仔裤,衬衫,短裤之类的产品,我想将订单存储在相应的产品表中,例如,与牛仔裤相关的订单应存储在牛仔裤表中,依此类推。每个表将具有相同的参数。因此,在将订单存储在表中时,我应该能够调用相应的结构并存储订单。我来自Laravel(PHP)背景,可以在其中加载动态模型,例如
$model = "Dynamic passed model names"
$class = "App\\Models\\$model";
但是在Go中,如果调用动态结构,我们该怎么做>
例如,
在ABC.go模型中]
type ABC struct{ Name string Invetory int }
在XYZ.go模型中]
type XYZ struct { Name string Invetory int }
因此输入可能是ABC或XYZ,我必须相应地加载该结构。
加载结构ABC
inpt := "ABC" product := models.<inpt>{ Name: "prodct name" Inventory: 10 }
以上代码段中的模型名称是动态的。我们如何在Go中做到这一点?
考虑诸如牛仔裤,衬衫,短裤之类的产品,我想将订单存储在相应的产品表中,例如,与牛仔裤相关的订单应存储在牛仔裤表中,依此类推。每个表都有...
请勿尝试将其他语言的方法和编程模式移植到Go中-充其量会使您的生活更艰难,而在最坏的情况下会流下眼泪。
您可以执行以下操作:
type Inventory interface{
// Your interface defining methods here
}
var toUse Inventory
switch input {
case "ABC":
toUse = ABC{}
case "XY":
toUse = XY{}
}
问题是为什么您有两个types >>] >>(除了错别字)完全相同。
请勿尝试将其他语言的方法和编程模式移植到Go中-充其量会使您的生活更艰难,而在最坏的情况下会流下眼泪。