<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 3.8 運行時類型系統 Go 語言是一種靜態類型語言,但感覺又像是動態解釋性語言。 Go 的類型系統不太常見,而且非常簡單。內建類型包括結構體、函數和接口。 任何實現了接口的方法的類型都可以成為實現了該接口。類型可以被隱式的從表達式中推導, 而且不需要被顯式的指定。 有關接口的特殊處理以及隱式的類型推導使得 Go 看起來像是一種輕量級的動態類型語言。 運行時類型結構 ``` type _type struct { size uintptr ptrdata uintptr // size of memory prefix holding all pointers hash uint32 tflag tflag align uint8 fieldAlign uint8 kind uint8 // 類型 // function for comparing objects of this type // (ptr to object A, ptr to object B) -&gt; ==? equal func(unsafe.Pointer, unsafe.Pointer) bool // gcdata stores the GC type data for the garbage collector. // If the KindGCProg bit is set in kind, gcdata is a GC program. // Otherwise it is a ptrmask bitmap. See mbitmap.go for details. gcdata *byte str nameOff ptrToThis typeOff } ``` 所有的類型 ``` const ( kindBool = 1 + iota // 0000 0001 kindInt // 0000 0010 kindInt8 // 0000 0011 kindInt16 // 0000 0100 kindInt32 // 0000 0101 kindInt64 // 0000 0110 kindUint // 0000 0111 kindUint8 // 0000 1000 kindUint16 // 0000 1001 kindUint32 // 0000 1010 kindUint64 // 0000 1011 kindUintptr // 0000 1100 kindFloat32 // 0000 1101 kindFloat64 // 0000 1110 kindComplex64 // 0000 1111 kindComplex128 // 0001 0000 kindArray // 0001 0001 kindChan // 0001 0010 kindFunc // 0001 0011 kindInterface // 0001 0100 kindMap // 0001 0101 kindPtr // 0001 0110 kindSlice // 0001 0111 kindString // 0001 1000 kindStruct // 0001 1001 kindUnsafePointer // 0001 1010 kindDirectIface = 1 &lt;&lt; 5 // 0010 0000 kindGCProg = 1 &lt;&lt; 6 // 0100 0000 kindMask = (1 &lt;&lt; 5) - 1 // 0001 1111 ) // isDirectIface 報告了 t 是否直接存儲在一個 interface 值中 func isDirectIface(t *_type) bool { return t.kind&amp;kindDirectIface != 0 } ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看