2 回答

TA貢獻1872條經驗 獲得超4個贊
編寫函數
func markSubPartition(p *Partition) {
if len(p.Partitions) > 0 {
p.SubPartitions = true
for _, part := range p.Partitions {
markSubPartition(part)
}
} else {
p.SubPartitions = false
}}
并像這樣循環使用塊設備
for _, part := range diskInfo.Blockdevices[0].Partitions {
markSubPartition(part)}
還需要更改您的結構更改分區字段:分區[]*分區希望它有幫助,謝謝!json:"partitions,omitempty"

TA貢獻2037條經驗 獲得超6個贊
由于該標志與 耦合,因此一種選擇是刪除該字段,并添加一個計算此值的方法:SubPartitionsPartitionsSubPartitions
func (p *Partition) HasSubPartitions() bool {
// note : to check if a slice is empty or not, it is advised to look at
// 'len(slice)' rather than nil (it is possible to have a non-nil pointer
// to a 0 length slice)
return len(p.Partitions) > 0
}
- 2 回答
- 0 關注
- 118 瀏覽
添加回答
舉報