亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在結構中切片,不能在切片文字中使用 int64 類型作為 int

在結構中切片,不能在切片文字中使用 int64 類型作為 int

Go
LEATH 2022-07-04 17:03:31
我首先嘗試獲取用戶輸入。此階段的輸入應該是一個單一的 uint,但是,如果用戶輸入是 2,那么我想讓我的程序創建 2 個三角形,其中包含額外的 2 個用戶輸入,其形式為 (int int int float)。例如)3 2 3 0.4。所以我創建了三角形結構,它有邊切片和 Gs,指的是灰度,你現在不必擔心灰度。所以這是我的代碼:type triangle struct {    Sides []int    Gs    float64}func main() {    var triangles []triangle    scanner := bufio.NewScanner(os.Stdin)    var number int    fmt.Scan(&number)    i := 0    for i < number+1 {        scanner.Scan()        in := scanner.Text()        if len(in) != 0 {        triangleDef := strings.Split(in, " ")        s1, _ := strconv.ParseInt(triangleDef[0], 10, 32)        s2, _ := strconv.ParseInt(triangleDef[1], 10, 32)        s3, _ := strconv.ParseInt(triangleDef[2], 10, 32)        gs, _ := strconv.ParseFloat(triangleDef[3], 64)        // fmt.Println(s1, s2, s3, gs)        triangle := triangle{Sides: []int{s1, s2, s3}, Gs: gs}        triangles = append(triangles, triangle)    }    i++}但是在第 45 行,triangle := triangle{Sides: []int{s1, s2, s3}, Gs: gs}對于所有 s1、s2 和 s3,它一直返回一個錯誤,說“無法在切片文字中將 int64 鍵入為 int”。我該怎么做才能讓它發揮作用?
查看完整描述

1 回答

?
炎炎設計

TA貢獻1808條經驗 獲得超4個贊

strconv.ParseInt返回一個int64,它是與 不同的類型int。您必須將變量轉換為int以將它們放在 s 的切片中int。

triangle := triangle{Sides: []int{int(s1), int(s2), int(s3)}, Gs: gs}

見:https ://tour.golang.org/basics/13


查看完整回答
反對 回復 2022-07-04
  • 1 回答
  • 0 關注
  • 345 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號