<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之旅 廣告
                ### 類型斷言 接口類型向普通接口類型轉換,就是類型斷言。判斷 X 的類型是否是 T >**t, ok := X.(T)** X,接口變量 T,接口類型(string,int,bool)等 斷言成功ok = true,值t = X 只有斷言成功,才能輸入值 斷言失敗 ok = false,值t = (空的) ``` package main import "fmt" func checkType(t interface{}, ok bool) { if ok { fmt.Println("斷言成功", ok) } else { fmt.Println("斷言失敗", ok) } fmt.Printf("變量T的類型= %T,值 = %v", t, t) } func main() { var x interface{} = 1 t, ok := x.(int) checkType(t, ok) } 結果: 斷言成功 true 變量T的類型= int,值 = 1 ``` ``` package main import "fmt" func main() { var x interface{} = 1 t, ok := x.(int) fmt.Println(t, ok) } 結果: 1 true ``` 如果斷言類型T是一個具體的類型,比如int,類型斷言就會X.(T)就會檢查X的動態類型是否和T相同。 如果斷言的類型T是一個接口類型,類型斷言X.(T) 檢查X的動態類是否滿足T接口 注意: 結構體里面一個變量,方法傳參不要*,比如(d *Datalist) 和(d Datalist) ``` package main import "fmt" // 創建一個接口類型 type Data interface { Sing() } // 創建一個結構體 type Datalist struct { Name string } // 方法 func (d Datalist) Sing() { fmt.Println(d.Name, "會唱歌") } // 斷言 func checkType(t interface{}, ok bool) { if ok { fmt.Println("斷言成功", ok) } else { fmt.Println("斷言失敗", ok) } fmt.Printf("變量t的類型是 %T,值%v\r\n", t, t) } func main() { //實例化結構體 var 變量名 接口名 = &結構體名{} var d Data = &Datalist{"Pony"} fmt.Println(d) d.Sing() // 第一次類型斷言 var s interface{} = Datalist{"Pony"} t, ok := s.(string) checkType(t, ok) //第二次類型斷言 t1, ok := s.(Data) checkType(t1, ok) } 結果: &{Pony} Pony 會唱歌 斷言失敗 false 變量t的類型是 string,值 斷言成功 true 變量t的類型是 main.Datalist,值{Pony} ```
                  <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>

                              哎呀哎呀视频在线观看