日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

让我们一起Go(十三)

發布時間:2025/4/14 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 让我们一起Go(十三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

上篇,我們了解了Go語言接口的一些知識,在這篇中,我們將繼續聊聊接口這東西。

?

Go語言空接口

Go語言中定義一個空接口,也就是沒有任何函數需要實現的接口就是一個空接口,作為一個空接口,因為對象無需實現它的函數,所以它可以指向任何對象,看下面的示例:

上面的empty接口變量分別可以被賦值為int類型,string類型,結構類型和數組類型等等。最后,使用Println打印出相應的內容。那么,fmt包的Println函數又是如何知道這個要打印的變量是什么類型的呢?這就需要用到接口的類型斷言了。

類型斷言

什么是類型斷言呢?類型斷言是在運行時才會起推斷作用的,既然是類型斷言,當然是對變量是什么類型進行判斷了。如上面的例子,最后說的Println函數,其實它的函數參數是這樣的:

通過之前的學習,我們知道這是一個可變參數,而且類型是一個空接口,空接口是可以指向任何對象的,繼續翻出Fprintln函數,然后繼續往下翻,最終會查看該類型是否實現了String()方法,有的話就直接反射來變量成員。對于內置類型則如下:

未把全部代碼展示出來,但是我們已經看到了類型斷言的用法了。斷言出類型后,就會通過switch case去匹配類型,如果匹配到就執行相應的操作。知道了用法,我們也來試試吧:

這樣在運行時,Go語言斷言了i的類型,并執行了相應操作。為了證明這是在運行時發生的,我們再來看一個例子:

完成后,我們可以順利的完成編譯,但是運行后會有一個panic:

告訴我們原來是沒有實現Testone的方法。

本篇小結:

今天就到這里,關于類型斷言今天就有個認識就可以了,以后我們會用它解決更實際的東西。

轉載于:https://www.cnblogs.com/vimsk/p/3273369.html

總結

以上是生活随笔為你收集整理的让我们一起Go(十三)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。