在使用写了很久的 CMD 的时候,有时我会忘记这段代码是用作什么的,然后就默认跑完了,所以我希望在执行的时候有个提示让我确认是否是我想要的命令,也就是说在运行程序的时候先提示一段这端代码是代码用的,我确定要运行吗,请输入 “Y/N” 确认,所以我找了一段以下的代码来用:

func AskForConfirmation(s string) bool {
	reader := bufio.NewReader(os.Stdin)

	for {
		fmt.Printf("%s [y/n]: ", s)

		response, err := reader.ReadString('\n')
		if err != nil {
			log.Fatal(err)
		}

		response = strings.ToLower(strings.TrimSpace(response))

		if response == "y" || response == "yes" {
			return true
		} else if response == "n" || response == "no" {
			return false
		}
	}
}

然后使用的地方这么写就可以了:

func main() {
	if !cmd.AskForConfirmation("Ready to clean all file in /tmp") {
		return
	}

	fmt.Printf("ok")
}