github.com/shogo82148/std@v1.22.1-0.20240327122250-4e474527810c/go/types/universe.go (about) 1 // Copyright 2011 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 // このファイルは、宇宙のスコープとunsafeパッケージを設定します。 6 7 package types 8 9 // UniverseスコープにはGoのすべての事前宣言されたオブジェクトが含まれています。 10 // これはネストされたスコープチェーンの最外側のスコープです。 11 var Universe *Scope 12 13 // Unsafeパッケージは、importパス"unsafe"のインポータによって返されるパッケージです。 14 var Unsafe *Package 15 16 // Typは、それぞれのBasicKindによってインデックス付けされた事前宣言された*Basic型を含んでいます。 17 // 18 // Typ[Byte]の*Basic型は、名前が「uint8」になります。 19 // 「byte」という特定のエイリアスの基本型を取得するには、Universe.Lookup("byte").Type()を使用します(また、「rune」に対しても同様です)。 20 var Typ = []*Basic{ 21 Invalid: {Invalid, 0, "invalid type"}, 22 23 Bool: {Bool, IsBoolean, "bool"}, 24 Int: {Int, IsInteger, "int"}, 25 Int8: {Int8, IsInteger, "int8"}, 26 Int16: {Int16, IsInteger, "int16"}, 27 Int32: {Int32, IsInteger, "int32"}, 28 Int64: {Int64, IsInteger, "int64"}, 29 Uint: {Uint, IsInteger | IsUnsigned, "uint"}, 30 Uint8: {Uint8, IsInteger | IsUnsigned, "uint8"}, 31 Uint16: {Uint16, IsInteger | IsUnsigned, "uint16"}, 32 Uint32: {Uint32, IsInteger | IsUnsigned, "uint32"}, 33 Uint64: {Uint64, IsInteger | IsUnsigned, "uint64"}, 34 Uintptr: {Uintptr, IsInteger | IsUnsigned, "uintptr"}, 35 Float32: {Float32, IsFloat, "float32"}, 36 Float64: {Float64, IsFloat, "float64"}, 37 Complex64: {Complex64, IsComplex, "complex64"}, 38 Complex128: {Complex128, IsComplex, "complex128"}, 39 String: {String, IsString, "string"}, 40 UnsafePointer: {UnsafePointer, 0, "Pointer"}, 41 42 UntypedBool: {UntypedBool, IsBoolean | IsUntyped, "untyped bool"}, 43 UntypedInt: {UntypedInt, IsInteger | IsUntyped, "untyped int"}, 44 UntypedRune: {UntypedRune, IsInteger | IsUntyped, "untyped rune"}, 45 UntypedFloat: {UntypedFloat, IsFloat | IsUntyped, "untyped float"}, 46 UntypedComplex: {UntypedComplex, IsComplex | IsUntyped, "untyped complex"}, 47 UntypedString: {UntypedString, IsString | IsUntyped, "untyped string"}, 48 UntypedNil: {UntypedNil, IsUntyped, "untyped nil"}, 49 } 50 51 // DefPredeclaredTestFuncsは、assertとtraceのビルトイン関数を定義します。 52 // これらのビルトイン関数は、このパッケージのデバッグとテストのために作られています。 53 func DefPredeclaredTestFuncs()