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

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

在 Go 中獲取枚舉的字符串表示的慣用方法是什么?

在 Go 中獲取枚舉的字符串表示的慣用方法是什么?

Go
SMILET 2023-04-24 16:56:44
如果我有一個(gè)枚舉:type Day int8const (    Monday Day = iota    Tuesday    ...    Sunday)有什么更自然的 Go方式來獲取字符串呢?功能:func ToString(day Day) string {   ...}或方法func (day Day) String() string  {    ... }
查看完整描述

3 回答

?
MMMHUHU

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

第二個(gè)更為慣用,因?yàn)樗鼭M足Stringer接口。

func?(day?Day)?String()?string??{
????...?
}

Day我們?cè)诜穷愋偷念愋蜕下暶鞔朔椒ǎ?code>*Day因?yàn)槲覀儧]有更改值。

它將使您能夠?qū)懽鳌?/p>

fmt.Println(day)

并獲取方法產(chǎn)生的值String。


查看完整回答
反對(duì) 回復(fù) 2023-04-24
?
翻閱古今

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

您自己回答這個(gè)問題的簡(jiǎn)單方法是查看 Go 標(biāo)準(zhǔn)庫。


包車時(shí)間

import?"time"

類型工作日

工作日指定一周中的某一天(星期日 = 0,...)。

type?Weekday?intconst?(
????????Sunday?Weekday?=?iota
????????Monday
????????Tuesday
????????Wednesday
????????Thursday
????????Friday
????????Saturday
)

func(工作日)字符串

func?(d?Weekday)?String()?string

String 返回當(dāng)天的英文名稱("Sunday", "Monday", ...)。

src/time/time.go:

// A Weekday specifies a day of the week (Sunday = 0, ...).


type Weekday int


const (

? ? Sunday Weekday = iota

? ? Monday

? ? Tuesday

? ? Wednesday

? ? Thursday

? ? Friday

? ? Saturday

)


var days = [...]string{

? ? "Sunday",

? ? "Monday",

? ? "Tuesday",

? ? "Wednesday",

? ? "Thursday",

? ? "Friday",

? ? "Saturday",

}


// String returns the English name of the day ("Sunday", "Monday", ...).

func (d Weekday) String() string {

? ? if Sunday <= d && d <= Saturday {

? ? ? ? return days[d]

? ? }

? ? buf := make([]byte, 20)

? ? n := fmtInt(buf, uint64(d))

? ? return "%!Weekday(" + string(buf[n:]) + ")"

}

包 fmt

import?"fmt"

縱梁型

Stringer 由具有 String 方法的任何值實(shí)現(xiàn),該方法定義該值的“本機(jī)”格式。String 方法用于打印作為操作數(shù)傳遞給任何接受字符串的格式或未格式化打印機(jī)(如 Print)的值。

type?Stringer?interface?{
????????String()?string
????????}


查看完整回答
反對(duì) 回復(fù) 2023-04-24
?
郎朗坤

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

也許我的回答可能會(huì)影響性能,但在處理大量枚舉時(shí),擁有映射將是一個(gè)糟糕的想法類型類別字符串


type Category string


const (

    AllStocks        Category = "all"

    WatchList        Category = "watch_list"

    TopGainer        Category = "top_gainer_stock"

    TopLoser         Category = "top_loser_stock"

    FiftyTwoWeekHigh Category = "high_stocks"

    FiftyTwoWeekLow  Category = "low_stocks"

    HotStocks        Category = "hot_stock"

    MostTraded       Category = "most_active_stock"

)


func (c Category) toString() string {

    return fmt.Sprintf("%s", c)

}

這是枚舉的最簡(jiǎn)單的字符串格式化路徑。


查看完整回答
反對(duì) 回復(fù) 2023-04-24
  • 3 回答
  • 0 關(guān)注
  • 176 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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