小编Chr*_*ula的帖子

如何在Go中使用strconv.Atoi()方法?

我试图在这个小程序中获得用户输入.我试过用这个strconv.Atoi()方法做几个方法(我的输入显然是一个字符串,我试图将它转换为整数).这是我的第一次尝试:

package main
    import (
        "fmt"
        "strconv"
    )

    func main() {
        //fmt.Println(strconv.Itoa)
        fmt.Println("Say something, in numbers.")
        var inputstr string
        fmt.Scanln("%s", &inputstr)
        input := strconv.Atoi(inputstr)
        output := (input * 2)
        outputstr := strconv.Itoa(output)
        fmt.Println(outputstr)
    }
Run Code Online (Sandbox Code Playgroud)

并在编译时遇到以下错误:

(第19行)单值上下文中的多值strconv.Atoi()

然后我调查了Godocs并尝试自己解决这个问题,然后意识到还会返回错误值.所以,我改变了

input := strconv.Atoi(inputstr)
Run Code Online (Sandbox Code Playgroud)

input, _ := strconv.Atoi(inputstr)
Run Code Online (Sandbox Code Playgroud)

现在这个编译得很好,没有任何错误.但是,当我运行程序时,这是我得到的:

用数字说些什么.

0

然后退出......我做错了什么?我相信这是一个关于Atoi()方法的问题,但如果它涉及到Scanln()那么请纠正我.

casting input go

8
推荐指数
1
解决办法
1万
查看次数

如何在 VB.NET 中替换 List(Of String) 中的项目?

我的一个项目遇到了问题。其中,我面临着索引问题的障碍。我有一个这样实例化的列表:

Public answers As List(Of String) = New List(Of String)
Run Code Online (Sandbox Code Playgroud)

通过以下代码将项目添加到此列表中:

Dim correctanswer As String = "" 'except the user changes the value with the GUI
frmMain.answers.Add(correctanswer)
Run Code Online (Sandbox Code Playgroud)

(顺便说一句,我只包含与这个怪物项目相关的部分,因此如果需要,我将根据请求发布更多代码。)

这段代码工作正常;但是,我试图允许用户随意修改每个列表项。我尝试通过以下方法做到这一点:

frmMain.answers.ElementAt(i) = correctanswer '(where 'i' is the index in question)
Run Code Online (Sandbox Code Playgroud)

并且编译器不喜欢这样。它在对我大喊大叫。

表达式不是值,因此不能作为赋值的目标。

现在,当我尝试替换类似列表中的项目时,我曾经遇到过这个问题;然而,这些项目是我自己的自定义类。这只是一个字符串列表。我也尝试了另一种方法:

frmMain.RemoveAt(i)
frmMain.Insert(i, correctanswer)
Run Code Online (Sandbox Code Playgroud)

问题是,列表的顺序会混淆。索引四处移动,最终变得一团糟,而不是按照我想要的方式进行。

有人可以帮我一下吗?

.net vb.net list

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

.net ×1

casting ×1

go ×1

input ×1

list ×1

vb.net ×1