现在我的struct实现了这个接口,如下面的
type MyRunner struct {
path string
}
func (r MyRunner) soSomthing(newPath string) error {
run(path)
return nil
}
现在我想要创建对象,我收到了错误 隐含分配未导出的字段'路径'在MyRunner文字中
我就是这样做的
&run.MyRunnter{”a/b/c/“}
有没有办法在Go中没有New关键字?
答案 0 :(得分:2)
在Go中,以小写字母开头的每个字段都被视为私有字段,只能在其包中访问。只需将名称更改为<DataGrid ItemsSource="{Binding Assignments}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
<DataGridTextColumn Header="Motor0" Binding="{Binding Motors[0].Name}" />
<DataGridTextColumn Header="Motor1" Binding="{Binding Motors[1].Name}" />
<DataGridTextColumn Header="Motor2" Binding="{Binding Motors[2].Name}" />
<DataGridTextColumn Header="Motor3" Binding="{Binding Motors[3].Name}" />
</DataGrid.Columns>
</DataGrid>
。
Path
此规则适用于Go中的其他标识符:类型名称,函数名称。请参阅有关文档的Exported identifiers。
如果您不想公开该字段。写一个将充当构造函数的函数。
type MyRunner struct {
Path string
}
中的示例