日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

让我们一起Go(十三)

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

前言:

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

?

Go語言空接口

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

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

類型斷言

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

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

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

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

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

告訴我們原來是沒有實現(xiàn)Testone的方法。

本篇小結:

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

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

總結

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。