国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

golang interface類型的nil

這篇具有很好參考價(jià)值的文章主要介紹了golang interface類型的nil。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

golang中interface變量,底層兩個對象來存,一個是type、一個是value,只有type、value都為nil時(shí),interface變量才是nil

package main

import (
	"fmt"
	"reflect"
)

type People interface {
	Show()
}

type Student struct{}

func (stu *Student) Show() {}

func live() People {
	var stu *Student
	return stu
}

func main() {
	i := live()
	fmt.Println(reflect.TypeOf(i))
	fmt.Println(i)

	if i == nil {
		fmt.Println("我是為空")
	} else {
		fmt.Println("我不為空")
	}
}

輸出結(jié)果為:
golang interface類型的nil,筆記,golang,開發(fā)語言,后端

可以看到interface 變量i,雖然值為nil,但類型是Student

如果想判斷變量value是否為空,可以指定type文章來源地址http://www.zghlxwxcb.cn/news/detail-621260.html

func main() {
	i := live()
	fmt.Println(reflect.TypeOf(i))
	fmt.Println(i)

	if i == (*Student)(nil) {
		fmt.Println("我是為空")
	} else {
		fmt.Println("我不為空")
	}
}

到了這里,關(guān)于golang interface類型的nil的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【后端學(xué)習(xí)筆記·Golang】郵箱郵件驗(yàn)證

    流程: 接收用戶請求后生成隨機(jī)驗(yàn)證碼,并將驗(yàn)證碼存入Redis中,并設(shè)置TTL 通過gomail發(fā)送驗(yàn)證碼給用戶郵箱 接收用戶輸入的驗(yàn)證碼,與Redis中存放的驗(yàn)證碼進(jìn)行比對 ? 隨機(jī)種子通過 time.Now().UnixNano() 進(jìn)行設(shè)置,以確保對于同一個用戶每次請求都使用不同的種子。然后,定義

    2024年04月26日
    瀏覽(32)
  • golang實(shí)現(xiàn)webgis后端開發(fā)

    golang實(shí)現(xiàn)webgis后端開發(fā)

    目錄 前言 二、實(shí)現(xiàn)步驟 1.postgis數(shù)據(jù)庫和model的綁定 2.將pg庫中的要素轉(zhuǎn)換為geojson (1)幾何定義 (2)將wkb解析為幾何類型 (3)定義geojson類型 (4)數(shù)據(jù)轉(zhuǎn)換 (5)數(shù)據(jù)返回 ?2.前端傳入的geojson儲存到數(shù)據(jù)庫 3、其他功能實(shí)現(xiàn) 總結(jié) ????????停更了接近一個月都在研究一門新語言gola

    2024年02月08日
    瀏覽(26)
  • 編程筆記 Golang基礎(chǔ) 016 數(shù)據(jù)類型:數(shù)字類型

    在Go語言中,數(shù)字類型是其豐富數(shù)據(jù)類型的一部分,主要用于表示數(shù)值。 以下是Go語言中主要的數(shù)字類型詳解: 1. 整數(shù)類型(Integer Types) a) 固定長度整數(shù): 有符號整數(shù) : int8 :8位帶符號整數(shù),范圍從-128到127。 int16 :16位帶符號整數(shù),范圍從-32,768到32,767。 int32 :32位帶符號

    2024年02月22日
    瀏覽(12)
  • 【Golang map并發(fā)報(bào)錯】panic: assignment to entry in nil map

    go并發(fā)寫 map[string]interface{} 數(shù)據(jù)的時(shí)候,報(bào)錯: panic: assignment to entry in nil map 多個key同時(shí)操作一個map時(shí),如: test[key1] = 1 test[key2] = \\\"a\\\" test[key3] = true 就會遇到并發(fā)nil值報(bào)錯,什么test[key-xxx] = make()根本不行。 用異步sync.Map解決: Lock鎖那個比較麻煩,不建議使用。推薦使用sync

    2024年01月19日
    瀏覽(18)
  • go數(shù)據(jù)類型-空結(jié)構(gòu)體、空接口、nil

    有經(jīng)驗(yàn)的開發(fā)人員都知道,所有的空結(jié)構(gòu)體是指向一個 zerobase的地址,而且大小為0 一般用來作結(jié)合map作為set 或者 在channel中 傳遞信號。 能看到當(dāng)一個空結(jié)構(gòu)體中,包含了其他類型的變量,就不指向 zerobase。 go中的接口都是隱式的,增加的封裝的靈活性,也為閱讀源碼增加了

    2024年02月05日
    瀏覽(28)
  • 【Golang】認(rèn)識Go語言中基本的數(shù)據(jù)類型

    【Golang】認(rèn)識Go語言中基本的數(shù)據(jù)類型

    目錄 整形 基本整型? 特殊整型 浮點(diǎn)型 布爾型 字符型 字符串轉(zhuǎn)義符? 多行字符串 字符串的常用操作 復(fù)數(shù) 我們不論在學(xué)習(xí)什么語言中,我們都要去認(rèn)識一下這個語言中的數(shù)據(jù)類型,當(dāng)然學(xué)習(xí)Go也不例外,我們也要去認(rèn)識一下其相關(guān)的數(shù)據(jù)類型,當(dāng)然這些數(shù)據(jù)類型基本上是大

    2023年04月08日
    瀏覽(24)
  • Golang 接口(interface)

    原創(chuàng)比較累,希望大家能點(diǎn)點(diǎn)贊,對我的支持。你們的支持,就是我的動力。 1. 接口實(shí)現(xiàn) 在 Go 中,接口是一種抽象類型,它定義了一組方法簽名,但沒有實(shí)現(xiàn)。接口用于描述對象應(yīng)該具有的方法集合,而不是具體的實(shí)現(xiàn)方式。 接口的定義使用 `type` 和 `interface` 。例如

    2024年02月05日
    瀏覽(20)
  • Go 語言 nil 空值

    在 Go 語言中, nil 是一個預(yù)定義的標(biāo)識符,用于表示某些類型的零值或空值。 nil 在 Go 語言中可以表示以下幾種類型的零值或空值: 指針類型:表示一個指向空地址的指針,即指針不指向任何有效的內(nèi)存地址。 接口類型:表示一個空接口,即接口沒有關(guān)聯(lián)任何值。 函數(shù)類型

    2024年02月11日
    瀏覽(43)
  • Go語言中的空和nil

    Go語言中的空和nil 在 Go 語言中,\\\"空\\\"和\\\"nil\\\"是兩個不同的概念,分別適用于不同的數(shù)據(jù)類型和用途。 在 Go 中,每種數(shù)據(jù)類型都有一個默認(rèn)的零值,也被稱為\\\"空\\\"值。這是在創(chuàng)建變量但未顯式初始化時(shí)自動分配給變量的值。空值對于不同類型的變量來說是不同的,例如: 數(shù)值類

    2024年02月13日
    瀏覽(43)
  • 【Golang】Golang進(jìn)階系列教程--為什么 Go 不支持 []T 轉(zhuǎn)換為 []interface

    【Golang】Golang進(jìn)階系列教程--為什么 Go 不支持 []T 轉(zhuǎn)換為 []interface

    在 Go 中,如果 interface{} 作為函數(shù)參數(shù)的話,是可以傳任意參數(shù)的,然后通過類型斷言來轉(zhuǎn)換。 舉個例子: 不管是傳 int 還是 string,最終都能輸出正確結(jié)果。 那么,既然是這樣的話,我就有一個疑問了,拿出我舉一反三的能力。是否可以將 []T 轉(zhuǎn)換為 []interface 呢? 比如下面

    2024年02月15日
    瀏覽(41)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包