我最近開始使用 golang,我需要制作結構陣列。下面是我的結構:
type Process struct {
Key string
Value string
}
現在從我的方法我需要回傳[]Process。下面是我的方法:
func procData(values []string) ([]Process, error) {
var process Process
for _, value := range values {
pieces := strings.Split(value, "-")
if len(pieces) > 1 {
process = Process{pieces[0], pieces[1]}
} else if len(pieces) > 2 {
process = Process{pieces[0], pieces[2]}
}
// add process struct process array? how to add process struct to make Process array
}
}
我對如何通過將單個行程結構添加到它們然后回傳它來制作行程陣列感到困惑。
uj5u.com熱心網友回復:
使用append將結果收集到slice中。
func procData(values []string) ([]Process, error) {
var result []Process
for _, value := range values {
var process Process
pieces := strings.Split(value, "-")
if len(pieces) > 1 {
process = Process{pieces[0], pieces[1]}
} else if len(pieces) > 2 {
process = Process{pieces[0], pieces[2]}
}
result = append(result, process)
}
return result
}
uj5u.com熱心網友回復:
func procData(values []string) ([]Process, error) {
processList := make([]Process, len(values))
var process Process
for _, value := range values {
pieces := strings.Split(value, "-")
if len(pieces) > 1 {
process = Process{pieces[0], pieces[1]}
} else if len(pieces) > 2 {
process = Process{pieces[0], pieces[2]}
}
// add process struct process array? how to add process struct to make Process array
processList = append(processList, process)
}
return processList
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/417942.html
標籤:
