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

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Go 接口 接口是一個方法簽名的集合。 所謂方法簽名,就是指方法的聲明,而不包括實現。 ```go package main import "fmt" import "math" // 這里定義了一個最基本的表示幾何形狀的方法的接口 type geometry interface { area() float64 perim() float64 } // 這里我們要讓正方形square和圓形circle實現這個接口 type square struct { width, height float64 } type circle struct { radius float64 } // 在Go中實現一個接口,只要實現該接口定義的所有方法即可 // 下面是正方形實現的接口 func (s square) area() float64 { return s.width * s.height } func (s square) perim() float64 { return 2*s.width + 2*s.height } // 圓形實現的接口 func (c circle) area() float64 { return math.Pi * c.radius * c.radius } func (c circle) perim() float64 { return 2 * math.Pi * c.radius } // 如果一個函數的參數是接口類型,那么我們可以使用命名接口 // 來調用這個函數 // 比如這里的正方形square和圓形circle都實現了接口geometry, // 那么它們都可以作為這個參數為geometry類型的函數的參數。 // 在measure函數內部,Go知道調用哪個結構體實現的接口方法。 func measure(g geometry) { fmt.Println(g) fmt.Println(g.area()) fmt.Println(g.perim()) } func main() { s := square{width: 3, height: 4} c := circle{radius: 5} // 這里circle和square都實現了geometry接口,所以 // circle類型變量和square類型變量都可以作為measure // 函數的參數 measure(s) measure(c) } ``` 輸出結果為 ``` {3 4} 12 14 {5} 78.53981633974483 31.41592653589793 ``` 也就是說如果結構體A實現了接口B定義的所有方法,那么A也是B類型。
                  <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>

                              哎呀哎呀视频在线观看