<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之旅 廣告
                > ### \*T是T的超集,\*T的方法集包含T ~~~ package main import ( "fmt" ) type Animal interface { Name(string) string } type Dog struct{} //T會拷貝副本, *T不會(優先考慮 *T,除非不想被函數體內亂改) func (d Dog) Name(name string) string { fmt.Printf("%p\n", &d) return name } //func (d *Dog) Name(name string) string { // fmt.Printf("%p", d) // return name //} /* 其它任意已命名類型 T 的方法集由所有帶接收者類型 T 的方法組成。 與指針類型 *T 相應的方法集為所有帶接收者 *T 或 T 的方法的集(就是說,它也包含 T 的方法集)。 如果一個接口值包含一個指針 *T,一個方法調用可通過解引用該指針來獲得一個值, 但如果一個接口值包含一個值 T,就沒有可用的方式讓一個方法調用獲得一個指針。 即便在編譯器可以獲得傳入方法的值的地址的情況下,若該方法修改了該值,則更改會在調用者中丟失 *T -> T (通過解應用) T -> *T(出錯,指向的是復制體:T 類型接收者在函數調用的時候值是被復制的,雖然在函數體里可以取指針,但只是指向被復制的那個值,原值是無法被改動的) */ func main() { //方法一和方法二都可以調用(*T是T的超集,*T的方法集包含T ) var d1 Dog //只能調用方法二 var d2 *Dog fmt.Println(d1.Name("d1")) fmt.Println(d2.Name("d2")) } ~~~ * * * ~~~ package main import "fmt" type Human interface { Name() Hobby() } type Man struct { } func (m Man) Name() { } func (m *Man) Hobby() { } func main() { var i Human //m1 := Man{} //i = m1 報錯 m2 := &Man{} i = m2 fmt.Println(i) } ~~~
                  <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>

                              哎呀哎呀视频在线观看