我在 go 中使用 go-redis 從 Redis 獲取列表數(shù)據(jù)。IDs, err := redisClient.LRange("ID", 0, -1).Result()if err != nil { panic(err)}fmt.Println(IDs)for _, ID := range IDs { id, _ := strconv.Atoi(ID) fmt.Println(id)}在第一次打印中,它可以獲得正確的數(shù)據(jù):37907613574562269007但是第二次打印得到了全部0:0000如果不轉(zhuǎn)換為 int,則為字符串:cannot use ID (type string) as type int in argument所以我想用它作為整數(shù)。我在go中用一個(gè)純列表進(jìn)行了測(cè)試:var a [4]stringa[0] = "1"a[1] = "2"a[2] = "3"a[3] = "4"for _, i := range a { id, _ := strconv.Atoi(i) fmt.Println(id)}它可以在沒有單獨(dú)使用新行的情況下工作:1234所以 的返回的不僅僅是字符串。https://godoc.org/github.com/go-redis/redis#Client.LRange它。那么如何轉(zhuǎn)換它呢?go-redis.LRange("ID", 0, -1).Result()*StringSliceCmd
1 回答

HUX布斯
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊
這是因?yàn)殄e(cuò)誤的類型。
.LRange("ID", 0, -1).Result()
返回。它應(yīng)該被轉(zhuǎn)換為循環(huán)ids。[]string
ids := strings.Fields(strings.Join(IDs, ""))
- 1 回答
- 0 關(guān)注
- 102 瀏覽
添加回答
舉報(bào)
0/150
提交
取消