我想創建一個movie具有屬性title和genre資料型別的結構string,然后duration和year資料型別,integer
然后創建一個具有名稱的函式,addDataFilm將結構中的資料物件添加到dataFilm切片中,然后顯示資料:

這是我的代碼:
type movie struct {
title, genre string
duration, year int
}
func (m movie) addDataFilm(title string, genre string, duration int, year int, dataFilm *[]string) {
var d = strconv.Itoa(m.duration)
var y = strconv.Itoa(m.year)
*dataFilm = append(*dataFilm, m.title, m.genre, d, y)
}
func main(){
var dataFim = []string{}
var dd = movie{}
dd.addDataFilm("LOTR", "action", 120, 1999, &dataFim)
dd.addDataFilm("Avanger", "action", 120, 2004, &dataFim)
dd.addDataFilm("Spiderman", "action", 120, 2004, &dataFim)
dd.addDataFilm("Juon", "horror", 120, 2004, &dataFim)
fmt.Println(dataFim)
}
我得到的是:

任何幫助將不勝感激。先感謝您
uj5u.com熱心網友回復:
創建一段電影。 將每部電影附加到切片。要列印,請覆寫切片并列印每部電影。
var movies []*movie
movies = append(movies, &movie{"LOTR", "action", 120, 1999})
movies = append(movies, &movie{"Avanger", "action", 120, 2004})
movies = append(movies, &movie{"Spiderman", "action", 120, 2004})
movies = append(movies, &movie{"Juon", "horror", 120, 2004})
for i, m := range movies {
fmt.Printf("%d. Title: %s\n Genre: %s\n Duration: %d\n Year: %d\n\n", i 1, m.title, m.genre, m.duration, m.year)
}
在操場上運行程式。
邏輯可以封裝在一個型別中:
// dataFilms stores data for multiple films.
type dataFilms []*movie
func (df *dataFilms) add(title string, genre string, duration int, year int) {
*df = append(*df, &movie{title, genre, duration, year})
}
func (df dataFilms) print() {
for i, m := range df {
fmt.Printf("%d. Title: %s\n Genre: %s\n Duration: %d\n Year: %d\n\n", i 1, m.title, m.genre, m.duration, m.year)
}
}
func main() {
var df dataFilms
df.add("LOTR", "action", 120, 1999)
df.add("Avanger", "action", 120, 2004)
df.add("Spiderman", "action", 120, 2004)
df.add("Juon", "horror", 120, 2004)
df.print()
}
在操場上運行它。
uj5u.com熱心網友回復:
- 創建新的電影陣列
- 創建全域變數 Movies 來保存資料
- 在 func main 上呼叫變數
type Movie struct {
Title string
Genre string
Duration int
Year int
}
type Movies []Movie
var dest Movies
func addDataFilm(title string, genre string, duration int, year int) Movies {
dest = append(dest, Movie{
Title: title,
Genre: genre,
Duration: duration,
Year: year,
})
return dest
}
func TestNumberToAlphabet(t *testing.T) {
addDataFilm("LOTR", "action", 120, 1999)
addDataFilm("Avanger", "action", 120, 2004)
addDataFilm("Spiderman", "action", 120, 2004)
addDataFilm("Juon", "horror", 120, 2004)
fmt.Println(dest)
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/454481.html
標籤:走
上一篇:結構欄位不是強制性的嗎?
