Я новичок в Go и у меня есть два вопроса о типах.
Например, возьмите этот код:
type Rule struct {
handler func() (err error)
creator string
args struct {
extension string
action string
folder struct {
location string
storage string
}
}
}
1) Как я могу создать новое Rule
, используя одинарное буквальное объявление, и присвоить значения свойствам args
? Что не так с этим кодом:
rule := Rule{
args: {
extension: "png,jpg,gif,svg",
action: "move",
},
}
2) Можно ли определять типы внутри типов? Например, не разбивая код на два отдельных объявления типов, могу ли я изменить часть args
типа Rule
, чтобы она определяла второй тип с именем RuleArgs
?
Я знаю, что я могу разбить их на несколько присваиваний и объявлений, но мой вопрос заключается в том, должен ли я (т. Е. Делает ли Go невозможным это)?