我有一个方法,它将一个 URL 带到一个 yaml 文件并将其解组为一个结构。它没有什么独特之处,所以我想在另一个结构上使用它。
type SWConfig struct {
Name string `yaml:"name"`
Version string `yaml:"version"`
BuildType string `yaml:"buildType"`
}
func (c *SWConfig) getConfiguration(url string) {
resp, err := http.Get(url)
if err != nil {
log.Fatalf("ERROR: GET request failed: %s\n", err.Error())
}
if resp.StatusCode != http.StatusOK {
log.Fatalf("ERROR: %v: %s\n", resp.Status, url)
}
source, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalf("ERROR: could not read response: %s\n", err.Error())
}
err = yaml.Unmarshal(source, c)
if err != nil {
log.Fatalf("ERROR: could not read YAML: %s\n", err.Error())
}
}
var swConfig SWConfig
swConfig.getConfiguration(swURL)
fmt.Println(swConfig.Name)
另一个结构将具有不同的字段,但对于此方法而言,这同样无关紧要。是否可以重用此方法还是需要将其转换为函数?
蓝山帝景
月关宝盒
随时随地看视频慕课网APP
相关分类