簡體   English   中英

以Maps Go語言轉換VALUES的數據類型

[英]Convert the dataype of VALUES in Maps Go language

我在GO中的地圖為:

var userinputmap = make(map[string]string)

並且其中的值是類型:

[ABCD:30 EFGH:50 PORS:60]

並不是說30,50,60是這里的字符串。

我希望有一個相同的映射,但數值應具有float64類型而不是字符串類型。

所需輸出:

var output = make(map[string]float64)

我嘗試這樣做,但出現錯誤: cannot use <placeholder_name> (type string) as type float64 in assignment

您不能通過簡單的類型轉換來做到這一點; 這兩個映射在內存中具有不同的表示形式。

為了解決這個問題,您將必須遍歷第一個映射的每個條目,將float的字符串表示形式轉換為float64 ,然后將新值存儲在另一個映射中:

import "strconv"

var output = make(map[string]float64)
for key, value := range userinputmap {
    if converted, err := strconv.ParseFloat(value, 64); err == nil {
        output[key] = converted
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM