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

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

在 golang 中解析結(jié)構(gòu)化數(shù)據(jù)

在 golang 中解析結(jié)構(gòu)化數(shù)據(jù)

Go
鴻蒙傳說 2022-10-24 15:36:34
我有一個(gè)格式良好的字節(jié)數(shù)組,它的行和列如下(請(qǐng)注意,列用空格分隔)。保證列名和順序:NAME       UUID                                  TYPE      DEVICE WAN        6a62d79f-fba2-45b3-a3dd-e847c4706d96  ethernet  ens18  DMZ        46a55117-b545-407e-af6e-25d48dfe95f5  ethernet  ens21  LAN        1691607b-9b73-46ff-95c4-9652d062706a  ethernet  ens19  MGT        a4819491-243c-4e5b-8cef-a49de5a9cb07  ethernet  ens22  Untrusted  0734a0ea-c242-4333-bece-2b5cb16e3337  ethernet  ens20 我想遍歷每一行并填充如下結(jié)構(gòu):type Device struct {    connectionID string    uuid         string    deviceType   string    deviceName   string}解決這個(gè)問題的最佳方法是什么?
查看完整描述

2 回答

?
哆啦的時(shí)光機(jī)

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

所以,如果它是一個(gè)字符串,可能應(yīng)該使用 split 將字符串轉(zhuǎn)換為一個(gè)數(shù)組,那么由于每一行都有相同的列,那么你很可能通過循環(huán)遍歷新創(chuàng)建的數(shù)組來創(chuàng)建一個(gè)結(jié)構(gòu)數(shù)組(創(chuàng)建每一行結(jié)構(gòu)在循環(huán)期間的每 4 次循環(huán)中),那么您將擁有一個(gè)定義明確的結(jié)構(gòu)數(shù)組,您可以查詢和操作。我還沒有把代碼放上去,因?yàn)槲抑皇窍氪_保它實(shí)際上是一個(gè)像下面這樣的字符串?


"NAME       UUID                                  TYPE      DEVICE 

 WAN        6a62d79f-fba2-45b3-a3dd-e847c4706d96  ethernet  ens18  

 DMZ        46a55117-b545-407e-af6e-25d48dfe95f5  ethernet  ens21  

 LAN        1691607b-9b73-46ff-95c4-9652d062706a  ethernet  ens19  

 MGT        a4819491-243c-4e5b-8cef-a49de5a9cb07  ethernet  ens22  

 Untrusted  0734a0ea-c242-4333-bece-2b5cb16e3337  ethernet  ens20"


查看完整回答
反對(duì) 回復(fù) 2022-10-24
?
紫衣仙女

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

我想我會(huì)為上面寫的評(píng)論添加代碼:


type Device struct {

    connectionID   string

    uuid           string

    deviceType     string

    deviceName     string

}


type Devices []Device


// getNetworkConnections retrieves a list of network connections and their associated details.

// Details include: connection name, uuid, type, and device id (aka NIC name).

func getNetworkConnections() Devices {

    nmcliCmd := exec.Command("nmcli", "con", "show")

    cmdOutput, err := nmcliCmd.Output()

    if err != nil {

        log.Fatal(err)

    }


    // Iterate through the devices and populate the type.

    var device Device


    rows := strings.Split(string(cmdOutput[:]), "\n") // Create an array of rows containing the output

    for _, row := range rows[1:] {                    // Skip the heading row and iterate through the remaining rows

        cols := strings.Fields(row) // Extract each column from the row.

        if len(cols) == 4 {

            device.connectionID = cols[0]

            device.uuid = cols[1]

            device.deviceType = cols[2]

            device.deviceName = cols[3]

            devices = append(devices, device)

        }

    }


    return devices

}


查看完整回答
反對(duì) 回復(fù) 2022-10-24
  • 2 回答
  • 0 關(guān)注
  • 160 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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