| // Copyright 2015 The Go Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style | |
| // license that can be found in the LICENSE file. | |
| package strconv_test | |
| import ( | |
| "fmt" | |
| "log" | |
| "strconv" | |
| ) | |
| func ExampleAppendBool() { | |
| b := []byte("bool:") | |
| b = strconv.AppendBool(b, true) | |
| fmt.Println(string(b)) | |
| // Output: | |
| // bool:true | |
| } | |
| func ExampleAppendFloat() { | |
| b32 := []byte("float32:") | |
| b32 = strconv.AppendFloat(b32, 3.1415926535, 'E', -1, 32) | |
| fmt.Println(string(b32)) | |
| b64 := []byte("float64:") | |
| b64 = strconv.AppendFloat(b64, 3.1415926535, 'E', -1, 64) | |
| fmt.Println(string(b64)) | |
| // Output: | |
| // float32:3.1415927E+00 | |
| // float64:3.1415926535E+00 | |
| } | |
| func ExampleAppendInt() { | |
| b10 := []byte("int (base 10):") | |
| b10 = strconv.AppendInt(b10, -42, 10) | |
| fmt.Println(string(b10)) | |
| b16 := []byte("int (base 16):") | |
| b16 = strconv.AppendInt(b16, -42, 16) | |
| fmt.Println(string(b16)) | |
| // Output: | |
| // int (base 10):-42 | |
| // int (base 16):-2a | |
| } | |
| func ExampleAppendQuote() { | |
| b := []byte("quote:") | |
| b = strconv.AppendQuote(b, `"Fran & Freddie's Diner"`) | |
| fmt.Println(string(b)) | |
| // Output: | |
| // quote:"\"Fran & Freddie's Diner\"" | |
| } | |
| func ExampleAppendQuoteRune() { | |
| b := []byte("rune:") | |
| b = strconv.AppendQuoteRune(b, '☺') | |
| fmt.Println(string(b)) | |
| // Output: | |
| // rune:'☺' | |
| } | |
| func ExampleAppendQuoteRuneToASCII() { | |
| b := []byte("rune (ascii):") | |
| b = strconv.AppendQuoteRuneToASCII(b, '☺') | |
| fmt.Println(string(b)) | |
| // Output: | |
| // rune (ascii):'\u263a' | |
| } | |
| func ExampleAppendQuoteToASCII() { | |
| b := []byte("quote (ascii):") | |
| b = strconv.AppendQuoteToASCII(b, `"Fran & Freddie's Diner"`) | |
| fmt.Println(string(b)) | |
| // Output: | |
| // quote (ascii):"\"Fran & Freddie's Diner\"" | |
| } | |
| func ExampleAppendUint() { | |
| b10 := []byte("uint (base 10):") | |
| b10 = strconv.AppendUint(b10, 42, 10) | |
| fmt.Println(string(b10)) | |
| b16 := []byte("uint (base 16):") | |
| b16 = strconv.AppendUint(b16, 42, 16) | |
| fmt.Println(string(b16)) | |
| // Output: | |
| // uint (base 10):42 | |
| // uint (base 16):2a | |
| } | |
| func ExampleAtoi() { | |
| v := "10" | |
| if s, err := strconv.Atoi(v); err == nil { | |
| fmt.Printf("%T, %v", s, s) | |
| } | |
| // Output: | |
| // int, 10 | |
| } | |
| func ExampleCanBackquote() { | |
| fmt.Println(strconv.CanBackquote("Fran & Freddie's Diner ☺")) | |
| fmt.Println(strconv.CanBackquote("`can't backquote this`")) | |
| // Output: | |
| // true | |
| // false | |
| } | |
| func ExampleFormatBool() { | |
| v := true | |
| s := strconv.FormatBool(v) | |
| fmt.Printf("%T, %v\n", s, s) | |
| // Output: | |
| // string, true | |
| } | |
| func ExampleFormatFloat() { | |
| v := 3.1415926535 | |
| s32 := strconv.FormatFloat(v, 'E', -1, 32) | |
| fmt.Printf("%T, %v\n", s32, s32) | |
| s64 := strconv.FormatFloat(v, 'E', -1, 64) | |
| fmt.Printf("%T, %v\n", s64, s64) | |
| // Output: | |
| // string, 3.1415927E+00 | |
| // string, 3.1415926535E+00 | |
| } | |
| func ExampleFormatInt() { | |
| v := int64(-42) | |
| s10 := strconv.FormatInt(v, 10) | |
| fmt.Printf("%T, %v\n", s10, s10) | |
| s16 := strconv.FormatInt(v, 16) | |
| fmt.Printf("%T, %v\n", s16, s16) | |
| // Output: | |
| // string, -42 | |
| // string, -2a | |
| } | |
| func ExampleFormatUint() { | |
| v := uint64(42) | |
| s10 := strconv.FormatUint(v, 10) | |
| fmt.Printf("%T, %v\n", s10, s10) | |
| s16 := strconv.FormatUint(v, 16) | |
| fmt.Printf("%T, %v\n", s16, s16) | |
| // Output: | |
| // string, 42 | |
| // string, 2a | |
| } | |
| func ExampleIsPrint() { | |
| c := strconv.IsPrint('\u263a') | |
| fmt.Println(c) | |
| bel := strconv.IsPrint('\007') | |
| fmt.Println(bel) | |
| // Output: | |
| // true | |
| // false | |
| } | |
| func ExampleItoa() { | |
| i := 10 | |
| s := strconv.Itoa(i) | |
| fmt.Printf("%T, %v\n", s, s) | |
| // Output: | |
| // string, 10 | |
| } | |
| func ExampleParseBool() { | |
| v := "true" | |
| if s, err := strconv.ParseBool(v); err == nil { | |
| fmt.Printf("%T, %v\n", s, s) | |
| } | |
| // Output: | |
| // bool, true | |
| } | |
| func ExampleParseFloat() { | |
| v := "3.1415926535" | |
| if s, err := strconv.ParseFloat(v, 32); err == nil { | |
| fmt.Printf("%T, %v\n", s, s) | |
| } | |
| if s, err := strconv.ParseFloat(v, 64); err == nil { | |
| fmt.Printf("%T, %v\n", s, s) | |
| } | |
| // Output: | |
| // float64, 3.1415927410125732 | |
| // float64, 3.1415926535 | |
| } | |
| func ExampleParseInt() { | |
| v32 := "-354634382" | |
| if s, err := strconv.ParseInt(v32, 10, 32); err == nil { | |
| fmt.Printf("%T, %v\n", s, s) | |
| } | |
| if s, err := strconv.ParseInt(v32, 16, 32); err == nil { | |
| fmt.Printf("%T, %v\n", s, s) | |
| } | |
| v64 := "-3546343826724305832" | |
| if s, err := strconv.ParseInt(v64, 10, 64); err == nil { | |
| fmt.Printf("%T, %v\n", s, s) | |
| } | |
| if s, err := strconv.ParseInt(v64, 16, 64); err == nil { | |
| fmt.Printf("%T, %v\n", s, s) | |
| } | |
| // Output: | |
| // int64, -354634382 | |
| // int64, -3546343826724305832 | |
| } | |
| func ExampleParseUint() { | |
| v := "42" | |
| if s, err := strconv.ParseUint(v, 10, 32); err == nil { | |
| fmt.Printf("%T, %v\n", s, s) | |
| } | |
| if s, err := strconv.ParseUint(v, 10, 64); err == nil { | |
| fmt.Printf("%T, %v\n", s, s) | |
| } | |
| // Output: | |
| // uint64, 42 | |
| // uint64, 42 | |
| } | |
| func ExampleQuote() { | |
| s := strconv.Quote(`"Fran & Freddie's Diner ☺"`) | |
| fmt.Println(s) | |
| // Output: | |
| // "\"Fran & Freddie's Diner\t☺\"" | |
| } | |
| func ExampleQuoteRune() { | |
| s := strconv.QuoteRune('☺') | |
| fmt.Println(s) | |
| // Output: | |
| // '☺' | |
| } | |
| func ExampleQuoteRuneToASCII() { | |
| s := strconv.QuoteRuneToASCII('☺') | |
| fmt.Println(s) | |
| // Output: | |
| // '\u263a' | |
| } | |
| func ExampleQuoteToASCII() { | |
| s := strconv.QuoteToASCII(`"Fran & Freddie's Diner ☺"`) | |
| fmt.Println(s) | |
| // Output: | |
| // "\"Fran & Freddie's Diner\t\u263a\"" | |
| } | |
| func ExampleUnquote() { | |
| test := func(s string) { | |
| t, err := strconv.Unquote(s) | |
| if err != nil { | |
| fmt.Printf("Unquote(%#v): %v\n", s, err) | |
| } else { | |
| fmt.Printf("Unquote(%#v) = %v\n", s, t) | |
| } | |
| } | |
| s := `\"Fran & Freddie's Diner\t\u263a\"\"` | |
| // If the string doesn't have quotes, it can't be unquoted. | |
| test(s) // invalid syntax | |
| test("`" + s + "`") | |
| test(`"` + s + `"`) | |
| test(`'\u263a'`) | |
| // Output: | |
| // Unquote("\\\"Fran & Freddie's Diner\\t\\u263a\\\"\\\""): invalid syntax | |
| // Unquote("`\\\"Fran & Freddie's Diner\\t\\u263a\\\"\\\"`") = \"Fran & Freddie's Diner\t\u263a\"\" | |
| // Unquote("\"\\\"Fran & Freddie's Diner\\t\\u263a\\\"\\\"\"") = "Fran & Freddie's Diner ☺"" | |
| // Unquote("'\\u263a'") = ☺ | |
| } | |
| func ExampleUnquoteChar() { | |
| v, mb, t, err := strconv.UnquoteChar(`\"Fran & Freddie's Diner\"`, '"') | |
| if err != nil { | |
| log.Fatal(err) | |
| } | |
| fmt.Println("value:", string(v)) | |
| fmt.Println("multibyte:", mb) | |
| fmt.Println("tail:", t) | |
| // Output: | |
| // value: " | |
| // multibyte: false | |
| // tail: Fran & Freddie's Diner\" | |
| } | |
| func ExampleNumError() { | |
| str := "Not a number" | |
| if _, err := strconv.ParseFloat(str, 64); err != nil { | |
| e := err.(*strconv.NumError) | |
| fmt.Println("Func:", e.Func) | |
| fmt.Println("Num:", e.Num) | |
| fmt.Println("Err:", e.Err) | |
| fmt.Println(err) | |
| } | |
| // Output: | |
| // Func: ParseFloat | |
| // Num: Not a number | |
| // Err: invalid syntax | |
| // strconv.ParseFloat: parsing "Not a number": invalid syntax | |
| } |