<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國際加速解決方案。 廣告
                > ### 接口 interface ~~~ //接口是方法簽名的集合(方法簽名就是定義為:方法名+參數列表) package main import "fmt" //幾何體的接口。 type geometry interface { area() int64 perimeter() int64 } type square struct { longside int64 } type rectangle struct { width, height int64 } //正方形實現幾何體接口 //只要某個類型擁有該接口的所有方法簽名,即算實現該接口 //任何其他類型都實現了空接口 func (s square) area() int64 { return s.longside * s.longside } func (s square) perimeter() int64 { return s.longside * 4 } func (r rectangle) area() int64 { return r.width * r.height } func (r rectangle) perimeter() int64 { return (r.width + r.height) * 2 } //如果一個變量是接口類型, 可以通過這個變量調用接口里的方法 //一個函數把interface{}作為參數,那么他可以接受任意類型的值作為參數,如果一個函數返回interface{},那么也就可以返回任意類型的值 func test(g geometry) { fmt.Println(g) fmt.Printf("面積是%d,周長是%d\n", g.area(), g.perimeter()) } func main() { s := square{longside: 5} r := rectangle{width: 7, height: 8} fmt.Printf("正方形的面積是%d,周長是%d\n", s.area(), s.perimeter()) fmt.Printf("長方形的面積是%d,周長是%d\n", r.area(), r.perimeter()) test(s) test(r) } ~~~ * 類型斷言 ~~~ //必須為initerface類型才可以進行類型斷言 //致命錯誤, 只退出當前協程 var i interface{} = 1 x := i.(string) fmt.Println(x) ~~~ * * * ~~~ var i interface{} = 1 v, ok := i.(int) fmt.Println(v, ok) ~~~ * Go計劃2.0加入泛型, 什么是泛型?(# Java 泛型 :[http://www.runoob.com/java/java-generics.html](http://www.runoob.com/java/java-generics.html)) > ### 相關閱讀 * [為什么在Go語言中要慎用interface{}](https://juejin.im/post/5ad1c766518825555e5e4646)
                  <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>

                              哎呀哎呀视频在线观看