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

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### Unsafe code **Unsafe code**是一種繞過 go 類型安全和內存安全檢查的 Go 代碼。大多數情況,unsafe code 是和指針相關的。但是要記住使用 unsafe code 有可能會損害你的程序,所以,如果你不完全確定是否需要用到 unsafe code 就不要使用它! Unsafe code 的使用將在 unsafe.go 程序中進行說明,該程序分為三個部分。 `unsafe.go`第一部分 ```Go package main import ( "fmt" "unsafe" ) ``` 你會注意到,為了使用 unsafe code,你將需要導入不安全的標準 Go package。 第二部分 Go 代碼: ```GO func main() { var value int64 = 5 var p1 = &value var p2 = (*int32)(unsafe.Pointer(p1)) ``` 請注意此處使用`unsafe.Pointer()`函數,該函數使我們自己承擔創建一個名為`p2`的`int32`指針的風險,該指針指向一個名為`value`的`int64`變量,可以使用`p1`指針對其進行訪問。任何 Go 指針都可以轉換為`unsafe.Pointer`。 > Tip: 類型為`unsafe.Pointer`的指針可以覆蓋 Go 的類型系統。這無疑是很快的,但是如果使用不正確或不小心,也會帶來危險。此外,它使開發人員可以更好地控制數據。 最后一部分 Go 代碼: ```GO fmt.Println("*p1: ", *p1) fmt.Println("*p2: ", *p2) *p1 = 5434123412312431212 fmt.Println(value) fmt.Println("*p2: ", *p2) *p1 = 54341234 fmt.Println(value) fmt.Println("*p2: ", *p2) } ``` > 你可以**取消引用指針**,并使用星號(\*)獲取,使用或設置其值。 如果你執行`unsafe.go`,你會得到以下的輸出: ```shell $ go run unsafe.go *p1: 5 *p2: 5 5434123412312431212 *p2: -930866580 54341234 *p2: 54341234 ``` 此輸出告訴我們什么?它告訴我們 32 位指針不能存儲 64 位整數。 正如你將在下一節中看到的那樣,`unsafe`包的功能可以用內存做更多有趣的事情。
                  <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>

                              哎呀哎呀视频在线观看