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()