char_lit.go 657 Bytes
Newer Older
1 2 3 4 5 6 7 8
// $G $F.go && $L $F.$A &&./$A.out

// Copyright 2009 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 main

9 10
import "os"

Rob Pike's avatar
Rob Pike committed
11
func main() {
Rob Pike's avatar
Rob Pike committed
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
	var i uint64 =
		' ' +
		'a' +
		'ä' +
		'本' +
		'\a' +
		'\b' +
		'\f' +
		'\n' +
		'\r' +
		'\t' +
		'\v' +
		'\\' +
		'\'' +
		'\000' +
		'\123' +
		'\x00' +
		'\xca' +
		'\xFE' +
		'\u0123' +
		'\ubabe' +
33 34
		'\U0010FFFF' +
		'\U000ebabe'
Rob Pike's avatar
Rob Pike committed
35
		;
36 37
	if '\U000ebabe' != 0x000ebabe {
		print("ebabe wrong\n");
Rob Pike's avatar
Rob Pike committed
38 39
		os.Exit(1)
	}
40 41
	if i != 0x20e213 {
		print("number is ", i, " should be ", 0x20e213, "\n");
Rob Pike's avatar
Rob Pike committed
42 43
		os.Exit(1)
		}
44
}