泛舟湖上清波郎朗
转换简单字符串最简单的方法是使用该strconv.Atoi()功能。请注意,还有许多其他方法。例如fmt.Sscan(),strconv.ParseInt()由于您可以指定基数和位大小,因此可以提供更大的灵活性。也如以下文档中所述strconv.Atoi():Atoi等效于ParseInt(s,10,0),转换为int类型。这是使用上述功能的示例(在Go Playground上尝试):flag.Parse()s := flag.Arg(0)if i, err := strconv.Atoi(s); err == nil { fmt.Printf("i=%d, type: %T\n", i, i)}if i, err := strconv.ParseInt(s, 10, 64); err == nil { fmt.Printf("i=%d, type: %T\n", i, i)}var i intif _, err := fmt.Sscan(s, &i); err == nil { fmt.Printf("i=%d, type: %T\n", i, i)}输出(如果使用参数调用"123"):i=123, type: inti=123, type: int64i=123, type: int解析自定义字符串还有一个方便的工具fmt.Sscanf(),它为格式字符串提供了更大的灵活性,您可以在输入中指定数字格式(例如宽度,基数等)以及其他额外的字符string。这对于解析包含数字的自定义字符串非常有用。例如,如果"id:00123"以前缀形式提供输入,"id:"并且数字固定为5位数字,如果较短则用零填充,这很容易解析,如下所示:s := "id:00123"var i intif _, err := fmt.Sscanf(s, "id:%5d", &i); err == nil { fmt.Println(i) // Outputs 123}