欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

golist轉json格式

謝彥文2年前8瀏覽0評論

golist是一個Go語言中的命令,可以用于列出當前項目的所有依賴關系。然而,有時我們需要將golist所產生的依賴關系轉換為JSON格式,以方便在其他應用中使用。

下面是一個示例代碼,將golist生成的依賴列表轉換為JSON格式:

package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"os/exec"
"strings"
)
type Dependency struct {
Module string `json:"module"`
Depth  int    `json:"depth"`
}
func main() {
cmd := exec.Command("go", "list", "-f", "{\"module\":\"{{.Path}}\",\"depth\":{{.Depth}}}\\n\", "...)
output, err := cmd.StdoutPipe()
if err != nil {
fmt.Println(err)
return
}
err = cmd.Start()
if err != nil {
fmt.Println(err)
return
}
raw, err := ioutil.ReadAll(output)
if err != nil {
fmt.Println(err)
return
}
err = cmd.Wait()
if err != nil {
fmt.Println(err)
return
}
dependencies := make([]Dependency, 0)
lines := strings.Split(string(raw), "\n")
for _, line := range lines {
if line == "" {
continue
}
d := Dependency{}
err = json.Unmarshal([]byte(line), &d)
if err != nil {
fmt.Println(err)
continue
}
dependencies = append(dependencies, d)
}
jsonBytes, err := json.Marshal(dependencies)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(jsonBytes))
}

這段代碼將輸出一個字符串,其中包含當前項目的依賴關系列表,格式為JSON。