diff options
Diffstat (limited to 'src/pkg/strconv/quote_example_test.go')
-rw-r--r-- | src/pkg/strconv/quote_example_test.go | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/pkg/strconv/quote_example_test.go b/src/pkg/strconv/quote_example_test.go new file mode 100644 index 000000000..405a57eb5 --- /dev/null +++ b/src/pkg/strconv/quote_example_test.go @@ -0,0 +1,35 @@ +// Copyright 2013 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" + "strconv" +) + +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 := `cafe\u0301` + // If the string doesn't have quotes, it can't be unquoted. + test(s) // invalid syntax + test("`" + s + "`") + test(`"` + s + `"`) + + test(`'\u00e9'`) + + // Output: + // Unquote("cafe\\u0301"): invalid syntax + // Unquote("`cafe\\u0301`") = cafe\u0301 + // Unquote("\"cafe\\u0301\"") = café + // Unquote("'\\u00e9'") = é +} |