谁能看到为什么此开关不起作用?
func main() {
reader := bufio.NewReader(os.Stdin)
text, _ := reader.ReadString('\n')
fmt.Print(text)
switch text {
case "a":
fmt.Print("A\n")
case "b":
fmt.Print("B\n")
case "c":
fmt.Print("C\n")
default:
fmt.Print("DEFAULT\n")
}
}
在此语句中,始终返回默认值,但是在对switch表达式进行硬编码时,switch块会按预期工作。查看ReadString()函数代码,它返回一个字符串,因此我看不到任何原因导致我的示例不起作用。
难道我做错了什么?!
您的文本包含两个字节:fmt.Print(len(text))
是2和fmt.Print(len("a"))
是1。
您第二个符号是不可见的,您可以尝试使用将其删除text = strings.TrimSpace(text)
。
下面的代码返回一个错误,但我不确定原因。需要更改哪些内容以允许编译?
问题内容: 我已经为Employee类的父类是抽象的并且父类中的clone()方法是抽象的编写了此克隆方法。我想用此代码复制Employee对象的原始数据类型,而不是复制每个原始数据单独键入,但是此代码在我调用clone()方法的行中有问题。(此代码在Employee类中) 错误是:来自对象类型的方法clone()不可见。 但是我的Employee类在类层次结构中,可以访问Object类中受保护的
我目前正在修复别人的Java代码中的一个bug,但我无法解释这个bug。所讨论的代码是下面的if语句: 其中初始化为和函数如下所示: 令我困惑的是,即使被设置为false,代码仍然调用并执行函数。我一直认为这是不应该发生的短路。if语句本身总体上仍然被计算为false,因为只有第一个代码段中的else-block中的代码被执行。 那么,这个if语句为什么会有这样的行为呢?是短路失败,还是我误解了原
我有一个关于书库的问题...我想写一个有3个堆栈的程序,我想在每个堆栈上添加这些操作(我应该使用数组): 1.创建堆栈2。按3号。流行音乐4号。显示每个堆栈的顶部 我写的程序,但我遇到了这些错误: 错误4错误LNK2019:未解析的外部符号“public:int\u thiscall stack::IsFull2(void)”(?IsFull2@stack@@QAEHXZ)在函数“public:v
我制作了这个简单的GUI程序,它可以计算特定字符序列的元音和辅音。计数器还可以,但是我对if-else语句有一个问题,当那个字符既不是元音也不是辅音时,我必须显示一条消息...代码如下: 它看起来是这样的: 我输入了一个没有任何特殊字符或数字的字符“序列”。但它仍然显示消息,其中它有元音和辅音以外的其他字符。if-else语句有问题吗?感谢您的帮助:)
问题内容: 我正在阅读Drools Planner示例,并且遇到了很多这样的代码: 据我所知,它应该初始化一个长度为n的列表,该列表存储数据类型。 但是,在表达式的两侧具有 不同的集合数据类型 该怎么办? 如果类型与匹配 ,则与执行操作有何不同: 问题答案: 是一个接口。您无法创建接口实例。 是实现List的类,您可以创建一个。 接口仅定义行为。一个实现和接口实现该行为的类。 您将注意到,如果您查