当前位置: 首页 > 面试题库 >

在旅途中如何复制?

巩阳秋
2023-03-14
问题内容

我希望执行一组代码,直到用户明确想要退出该功能为止。例如:当用户运行程序时,他将看到2个选项:

  1. 再次运行
  2. 出口

这将通过使用开关盒结构来实现。如果用户按下1,则将执行与1相关的一组功能;如果用户按下2,则程序将退出。我应该如何在golang中实现这种情况?在Java中,我相信可以使用do
while结构来完成此操作,但是go不支持do while循环。以下是我尝试过的代码,但是它陷入了无限循环:

func sample() {
    var i = 1
    for i > 0 {
        fmt.Println("Press 1 to run")
        fmt.Println("Press 2 to exit")
        var input string
        inpt, _ := fmt.Scanln(&input)
        switch inpt {
        case 1:
            fmt.Println("hi")
        case 2:
            os.Exit(2)
        default:
            fmt.Println("def")
        }
    }
}

程序与输入无关,仅输出“ hi”。有人可以纠正我在这里做什么错吗?

谢谢。


问题答案:

当问到这个问题时,这是 针对特定情况 的更好答案(我几乎不知道这是在Google搜索“ do while loop
golang”时的第一结果)。

将函数包装在for循环中:

package main

import (
    "fmt"
    "os"
)

func main() {
    fmt.Println("Press 1 to run")
    fmt.Println("Press 2 to exit")
    for {
        sample()
    }
}

func sample() {
    var input int
    n, err := fmt.Scanln(&input)
    if n < 1 || err != nil {
         fmt.Println("invalid input")
         return
    }
    switch input {
    case 1:
        fmt.Println("hi")
    case 2:
        os.Exit(2)
    default:
        fmt.Println("def")
    }
}

for没有任何声明循环相当于while在其他类似C语言的循环。查看涵盖循环的Effective
Go文档
for



 类似资料:
  • 途乐行旅游网网站官方模版,静态的纯html5+js+css。

  • 最终编辑-这是AnyLogic中路由回归的一个错误,在下一次更新中得到修复。 我正在开发一个城市模拟,让行人代理在它周围移动。我使用的GIS区域数据是从加载。osm文件处于步行交通模式,我在该地区随机生成建筑代理。 起初,他们在城市里走得很好,但在到达目的地的半路上,他们突然以高速直线飞越城镇,到达目的地。他们似乎到达了离大楼最近的地理信息系统节点,然后走了最后几米。我相信我试过的每个行人都会这样

  • 问题内容: 如何在Java中复制对象? 问题答案: 创建一个副本构造函数: 每个对象还有一个克隆方法,可用于复制对象,但不要使用它。创建类和执行不正确的克隆方法太容易了。

  • 我希望bot获取消息(嵌入)并将其发送到调用命令的通道。以下代码适用于普通文本消息: 为了发送嵌入,我尝试了: 它发送此信息,而不是发送嵌入: 如何使机器人复制并发送嵌入?

  • 本文向大家介绍在MongoDB中如何复制属性?,包括了在MongoDB中如何复制属性?的使用技巧和注意事项,需要的朋友参考一下 要将一个属性的值复制到另一个属性,请使用$set和update()。让我们创建一个包含文档的集合 在find方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是在MongoDB中复制属性的查询- 在find方法的帮助下显示集合中的所有文档- 这将产生以下输出-

  • 我该怎么办 使用Laravel查询。 到目前为止,我尝试做的是: