我有以下函數聲明,它可以正常工作并打印出來。import ( "fmt" "github.com/google/go-github/github")func LatestTag(user, project string) { client := github.NewClient(nil) releases, _, err := client.Repositories.ListTags(user, project, nil) if err != nil { fmt.Printf("error: %v\n", err) } else { release := releases[0] fmt.Printf("Version: %+v\n", *release.Name) }}編輯我修改了函數以返回一個字符串(我認為這不正確)但希望它可以幫助闡明我正在嘗試做的事情。import ( "fmt" "github.com/google/go-github/github")func LatestTag(user, project string) string { client := github.NewClient(nil) releases, _, err := client.Repositories.ListTags(user, project, nil) var release string if err != nil { fmt.Printf("error: %v\n", err) } else { release := releases[0] } return *release.Name}我想返回的值*release.Name而不是僅僅打印出來,以便我可以從另一個函數訪問該值,但我不明白在這種情況下返回是如何工作的(對 Go 來說非常新)。我在想我可以將結構作為字符串返回,但在運行時會出錯。release.Name undefined (type string has no field or method Name)這讓我覺得我沒有正確地處理這個問題。有人可以指出我正確的方向嗎?
- 1 回答
- 0 關注
- 171 瀏覽
添加回答
舉報
0/150
提交
取消