浏览代码

优化 仅 Windows 系统才需要按下 回车键 或 Ctrl+C 退出

xiu2 5 年之前
父节点
当前提交
25fa4b65d8
共有 1 个文件被更改,包括 17 次插入8 次删除
  1. 17 8
      main.go

+ 17 - 8
main.go

@@ -4,6 +4,7 @@ import (
 	"flag"
 	"fmt"
 	"os"
+	"runtime"
 	"sort"
 	"strconv"
 	"sync"
@@ -192,7 +193,8 @@ func main() {
 
 // 显示最快结果
 func printResult(data []CloudflareIPData) {
-	if printResultNum > 0 { // 如果禁用下载测速就跳过
+	sysType := runtime.GOOS
+	if printResultNum > 0 { // 如果禁止直接输出结果就跳过
 		dateString := convertToString(data) // 转为多维数组 [][]String
 		if len(dateString) > 0 {            // IP数组长度(IP数量) 大于 0 时继续
 			if len(dateString) < printResultNum { // 如果IP数组长度(IP数量) 小于  打印次数,则次数改为IP数量
@@ -203,17 +205,24 @@ func printResult(data []CloudflareIPData) {
 			for i := 0; i < printResultNum; i++ {
 				fmt.Printf("%-18s%-8s%-8s%-8s%-10s%-15s\n", ipPadding(dateString[i][0]), dateString[i][1], dateString[i][2], dateString[i][3], dateString[i][4], dateString[i][5])
 			}
-			if outputFile != "" {
-				fmt.Printf("\n完整测速结果已写入 %v 文件,请使用记事本/表格软件查看。\n按下 回车键 或 Ctrl+C 退出。", outputFile)
-			} else {
-				fmt.Printf("\n请按 回车键 或 Ctrl+C 退出。")
+
+			if sysType == "windows" { // 如果是 Windows 系统,则需要按下 回车键 或 Ctrl+C 退出
+				if outputFile != "" {
+					fmt.Printf("\n完整测速结果已写入 %v 文件,请使用记事本/表格软件查看。\n按下 回车键 或 Ctrl+C 退出。", outputFile)
+				} else {
+					fmt.Printf("\n按下 回车键 或 Ctrl+C 退出。")
+				}
+				var pause int
+				fmt.Scanln(&pause)
+			} else { // 其它系统直接退出
+				if outputFile != "" {
+					fmt.Println("\n完整测速结果已写入 " + outputFile + " 文件,请使用记事本/表格软件查看。")
+				}
 			}
-			var pause int
-			fmt.Scanln(&pause)
 		} else {
 			fmt.Println("\n[信息] IP数量为 0,跳过输出结果。")
 		}
 	} else {
-		fmt.Printf("\n测速结果已写入 %v 文件,请使用记事本/表格软件查看。", outputFile)
+		fmt.Println("\n完整测速结果已写入 " + outputFile + " 文件,请使用记事本/表格软件查看。")
 	}
 }