第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在 Go 中打印列表的值

如何在 Go 中打印列表的值

Go
瀟湘沐 2023-06-26 17:58:51
我在 Go 的列表中有一些值。我只需要能夠打印它們,但每次我嘗試它都會告訴我 test.FirstName undefined (類型 *list.Element 沒有字段或方法 FirstName)。那么如何正確訪問列表中的成員呢?最后幾行給我?guī)砹寺闊?。package mainimport (    "bufio"    "fmt"    "log"    "strconv"    "strings"    "os"    "container/list")type Student struct {    FirstName string    LastName  string    testScore int    homeworkScore int}func main() {    fmt.Println("What is the name of your file?\n")     var filename string     fmt.Scan(&filename)    file, err := os.Open(filename)    if err != nil {     log.Fatal(err)    }    scanner := bufio.NewScanner(file)    //var numLineCount int = 0    var gradeCount = 0    var student Student    var studentList list.List    var studentCount int = 1    for scanner.Scan() {        line := scanner.Text()        fields := strings.Fields(line)        student.FirstName = fields[0]        student.LastName = fields[1]        scanner.Scan()        line2 := scanner.Text()        sum := 0        gradeCount = 0        for _, field := range strings.Fields(line2) {            n, err := strconv.Atoi(field)            if err != nil {                        log.Fatal(err)                    }            gradeCount++            sum += n        }        student.testScore = sum/gradeCount        gradeCount = 0        scanner.Scan()        line3 := scanner.Text()        sum2 := 0        for _, field := range strings.Fields(line3) {            n, err := strconv.Atoi(field)            if err != nil {                        log.Fatal(err)                    }            gradeCount++            sum2 += n        }        student.homeworkScore = sum2/gradeCount        studentList.PushBack(studentCount)        studentCount++        fmt.Println("First:", student.FirstName, "Last:", student.LastName, "Test Avg:", student.testScore, "Homework Avg:", student.homeworkScore)        }        test:=studentList.Front()        fmt.Println(test.FirstName)    }更新:所以我發(fā)現(xiàn)我不能在 println 部分使用 test.FirstName ,只有 Println(test) 可以工作并打印所有內(nèi)容。但我仍然需要能夠訪問列表中的每個元素。我怎樣才能這樣做呢?
查看完整描述

2 回答

?
青春有我

TA貢獻1784條經(jīng)驗 獲得超8個贊

看來您沒有方便的對象類型。您可以使用斷言來獲取實際的對象類型,如下所示:


  test:=studentList.Front()

  if actualStudent, ok := test.Value.(Student); ok {

      fmt.Println(actualStudent.FirstName)

  }

如果沒有幫助,請對您遇到的問題發(fā)表評論,我將非常樂意為您提供幫助。


查看完整回答
反對 回復(fù) 2023-06-26
?
呼如林

TA貢獻1798條經(jīng)驗 獲得超3個贊

快速閱讀代碼。根據(jù)您的聲明,您正在推studentCount入一個 int 變量的列表。我認為你想要實現(xiàn)的目標是推入結(jié)構(gòu)student。打字錯誤?

PS 如果這不是一項作業(yè)或有特定要求的東西,則只需使用切片即可。始終使用切片。


查看完整回答
反對 回復(fù) 2023-06-26
  • 2 回答
  • 0 關(guān)注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號