第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

結(jié)構(gòu)聲明中的文字值

結(jié)構(gòu)聲明中的文字值

Go
達(dá)令說(shuō) 2023-05-08 16:14:15
假設(shè)我們有一個(gè)這樣的結(jié)構(gòu):type Foo struct {  one string  two int}是否可以為此聲明文字值,例如:type Foo struct {  one "foobar"  two int}或者type Foo struct {  one string  two 5678}基本上對(duì)于某些對(duì)象,我們可能有一個(gè)字段的硬編碼值。
查看完整描述

2 回答

?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊

不,Go 不支持文字類(lèi)型(a la TypeScript)。而且,它實(shí)際上不能,因?yàn)?em>零值。

每個(gè)類(lèi)型都有一個(gè)零值,它總是存在并且總是可以分配給它。當(dāng)聲明一個(gè)類(lèi)型的變量時(shí),它們被隱式分配給它們類(lèi)型的零值。

  • 對(duì)于整數(shù) ( intuintint32uint32int64uin64) 或浮點(diǎn)數(shù) ( float32float64) 或復(fù)數(shù) (complex64complex128) 類(lèi)型,這只是0(0.0分別)。

  • 對(duì)于字符串類(lèi)型,這是空字符串""。

  • 對(duì)于切片、映射、指針、通道和接口,零值為nil.

  • 對(duì)于數(shù)組(不是切片:數(shù)組是具有靜態(tài)已知長(zhǎng)度的值類(lèi)型);它們的零值只是重復(fù)填充每個(gè)槽的元素類(lèi)型的零值

  • 結(jié)構(gòu)類(lèi)型的零值是其所有字段均為零值的結(jié)構(gòu)

在任何情況下,因?yàn)槿魏晤?lèi)型總是可能有一個(gè)零值,所以創(chuàng)建一個(gè)只允許任何特定非零值的類(lèi)型是不兼容的。

最好的字面量類(lèi)型"foo"可能代表的是該值要么是"foo"零值""(不,Go 無(wú)論如何都不支持這個(gè))。

您能做的最接近的是constant 聲明,或者恰好返回固定值而不是實(shí)際字段的接收函數(shù)。


查看完整回答
反對(duì) 回復(fù) 2023-05-08
?
開(kāi)滿(mǎn)天機(jī)

TA貢獻(xiàn)1786條經(jīng)驗(yàn) 獲得超13個(gè)贊

Go 是靜態(tài)類(lèi)型語(yǔ)言,這意味著每個(gè)變量都需要用特定的數(shù)據(jù)類(lèi)型聲明。


在 Go 中不可能在聲明中為結(jié)構(gòu)中的每個(gè)字段設(shè)置默認(rèn)值。它不受支持。


但也許你可以做這樣的事情。


type Foo struct {

    one string

    two int

}


func NewFoo() *Foo {

    foo := new(Foo)

    foo.one = "default value for one"

    foo.two = 2

    return foo

}


func main() {

    objectWithDefaultValueForItsField := NewFoo()

}

我所做的基本上只是創(chuàng)建了一個(gè)名為 is 的函數(shù)

New<struct name>()。此函數(shù)為每個(gè)定義的字段返回一個(gè)具有默認(rèn)值的新對(duì)象。


值得注意的例外,對(duì)于從匿名結(jié)構(gòu)創(chuàng)建的對(duì)象,可以在聲明時(shí)指定字段的默認(rèn)值。IE


obj := struct {

    one string

    two int

}{

    "default value for one",

    2,

}


查看完整回答
反對(duì) 回復(fù) 2023-05-08
  • 2 回答
  • 0 關(guān)注
  • 150 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)