github.com/zebozhuang/go@v0.0.0-20200207033046-f8a98f6f5c5d/src/go/types/testdata/constdecl.src (about) 1 // Copyright 2013 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 package constdecl 6 7 import "math" 8 9 var v int 10 11 // Const decls must be initialized by constants. 12 const _ = v /* ERROR "not constant" */ 13 const _ = math /* ERROR "not constant" */ .Sin(0) 14 const _ = int /* ERROR "not an expression" */ 15 16 func _() { 17 const _ = v /* ERROR "not constant" */ 18 const _ = math /* ERROR "not constant" */ .Sin(0) 19 const _ = int /* ERROR "not an expression" */ 20 } 21 22 // Identifier and expression arity must match. 23 // The first error message is produced by the parser. 24 // In a real-world scenario, the type-checker would not be run 25 // in this case and the 2nd error message would not appear. 26 const _ /* ERROR "missing constant value" */ /* ERROR "missing init expr for _" */ 27 const _ = 1, 2 /* ERROR "extra init expr 2" */ 28 29 const _ /* ERROR "missing constant value" */ /* ERROR "missing init expr for _" */ int 30 const _ int = 1, 2 /* ERROR "extra init expr 2" */ 31 32 const ( 33 _ /* ERROR "missing constant value" */ /* ERROR "missing init expr for _" */ 34 _ = 1, 2 /* ERROR "extra init expr 2" */ 35 36 _ /* ERROR "missing constant value" */ /* ERROR "missing init expr for _" */ int 37 _ int = 1, 2 /* ERROR "extra init expr 2" */ 38 ) 39 40 const ( 41 _ = 1 42 _ 43 _, _ /* ERROR "missing init expr for _" */ 44 _ 45 ) 46 47 const ( 48 _, _ = 1, 2 49 _, _ 50 _ /* ERROR "extra init expr at" */ 51 _, _ 52 _, _, _ /* ERROR "missing init expr for _" */ 53 _, _ 54 ) 55 56 func _() { 57 const _ /* ERROR "missing constant value" */ /* ERROR "missing init expr for _" */ 58 const _ = 1, 2 /* ERROR "extra init expr 2" */ 59 60 const _ /* ERROR "missing constant value" */ /* ERROR "missing init expr for _" */ int 61 const _ int = 1, 2 /* ERROR "extra init expr 2" */ 62 63 const ( 64 _ /* ERROR "missing constant value" */ /* ERROR "missing init expr for _" */ 65 _ = 1, 2 /* ERROR "extra init expr 2" */ 66 67 _ /* ERROR "missing constant value" */ /* ERROR "missing init expr for _" */ int 68 _ int = 1, 2 /* ERROR "extra init expr 2" */ 69 ) 70 71 const ( 72 _ = 1 73 _ 74 _, _ /* ERROR "missing init expr for _" */ 75 _ 76 ) 77 78 const ( 79 _, _ = 1, 2 80 _, _ 81 _ /* ERROR "extra init expr at" */ 82 _, _ 83 _, _, _ /* ERROR "missing init expr for _" */ 84 _, _ 85 ) 86 } 87 88 // Test case for constant with invalid initialization. 89 // Caused panic because the constant value was not set up (gri - 7/8/2014). 90 func _() { 91 const ( 92 x string = missing /* ERROR "undeclared name" */ 93 y = x + "" 94 ) 95 } 96 97 // TODO(gri) move extra tests from testdata/const0.src into here