From 12039f4850229f5f4c35317c2941f587e146c306 Mon Sep 17 00:00:00 2001 From: xiu2 <54703944+XIU2@users.noreply.github.com> Date: Tue, 10 Nov 2020 21:03:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20-p=200=20=E6=97=B6?= =?UTF-8?q?=E6=B2=A1=E6=9C=89=E7=9B=B4=E6=8E=A5=E9=80=80=E5=87=BA=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=E4=BC=98=E5=8C=96?= =?UTF-8?q?=20=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.go | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/main.go b/main.go index eff7ced..c7bf230 100644 --- a/main.go +++ b/main.go @@ -17,7 +17,7 @@ var disableDownload bool var tcpPort int var ipFile string var outputFile string -var printResult int +var printResultNum int func init() { var downloadSecond int64 @@ -59,7 +59,7 @@ https://github.com/XIU2/CloudflareSpeedTest flag.IntVar(&downloadTestCount, "dn", 20, "下载测速数量") flag.Int64Var(&downloadSecond, "dt", 5, "下载测速时间") flag.StringVar(&url, "url", "https://cf.xiu2.xyz/Github/CloudflareSpeedTest.png", "下载测速地址") - flag.IntVar(&printResult, "p", 20, "显示结果数量") + flag.IntVar(&printResultNum, "p", 20, "显示结果数量") flag.BoolVar(&disableDownload, "dd", false, "禁用下载测速") flag.StringVar(&ipFile, "f", "ip.txt", "IP 数据文件") flag.StringVar(&outputFile, "o", "result.csv", "输出结果文件") @@ -91,8 +91,8 @@ https://github.com/XIU2/CloudflareSpeedTest if url == "" { url = "https://cf.xiu2.xyz/Github/CloudflareSpeedTest.png" } - if printResult == 0 { - printResult = 20 + if printResultNum < 0 { + printResultNum = 20 } if ipFile == "" { ipFile = "ip.txt" @@ -150,20 +150,24 @@ func main() { ExportCsv(outputFile, data) // 输出结果到文件 } - // 直接输出结果 - if printResult > 0 { // 如果禁用下载测速就跳过 + printResult(data) // 显示最快结果 +} + +// 显示最快结果 +func printResult(data []CloudflareIPData) { + if printResultNum > 0 { // 如果禁用下载测速就跳过 dateString := convertToString(data) // 转为多维数组 [][]String if len(dateString) > 0 { // IP数组长度(IP数量) 大于 0 时继续 - if len(dateString) < printResult { // 如果IP数组长度(IP数量) 小于 打印次数,则次数改为IP数量 - printResult = len(dateString) + if len(dateString) < printResultNum { // 如果IP数组长度(IP数量) 小于 打印次数,则次数改为IP数量 + printResultNum = len(dateString) fmt.Println("\n[信息] IP数量小于显示结果数量,显示结果数量改为IP数量。\n") } fmt.Printf("%-16s%-5s%-5s%-5s%-6s%-11s\n", "IP 地址", "已发送", "已接收", "丢包率", "平均延迟", "下载速度 (MB/s)") - for i := 0; i < printResult; i++ { + 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 文件。请按 回车键 或 Ctrl+C 退出。", outputFile) + fmt.Printf("\n完整测速结果已写入 %v 文件,请使用记事本/表格软件查看。按下 回车键 或 Ctrl+C 退出。", outputFile) } else { fmt.Printf("\n请按 回车键 或 Ctrl+C 退出。") } @@ -172,5 +176,7 @@ func main() { } else { fmt.Println("\n[信息] IP数量为 0,跳过输出结果。") } + } else { + fmt.Printf("\n测速结果已写入 %v 文件,请使用记事本/表格软件查看。", outputFile) } }