ℹ️ 关于
显示 Composer 本身的简短描述信息,并解析输出为结构化键值对。
composer about 输出 Composer 的名称、版本、描述等单行信息。Composer Skills 提供两个方法:About 返回原始文本,ParseAboutOutput 把它解析为 map[string]string。
何时使用
- 🩺 启动自检时打印一行 Composer 自我介绍。
- 📊 仪表盘展示 Composer 元信息(版本、描述)。
- 🔍 程序化提取 Composer 版本号用于版本比对(也可用更专门的 GetVersionInfo)。
- 📝 生成环境报告时附带 Composer 的 about 信息。
方法签名
| 方法 | 签名 | 说明 |
|---|---|---|
| ℹ️ About | func (c *Composer) About() (string, error) | composer about 原始文本 |
| 🔧 ParseAboutOutput | func ParseAboutOutput(output string) map[string]string | 解析为键值对 map |
示例
打印 Composer 简介
go
package main
import (
"fmt"
"log"
"github.com/scagogogo/composer-skills/pkg/composer"
)
func main() {
comp, err := composer.New(composer.DefaultOptions())
if err != nil {
log.Fatal(err)
}
out, err := comp.About()
if err != nil {
log.Fatalf("获取 about 失败: %v", err)
}
fmt.Println(out)
}结构化解析
go
out, _ := comp.About()
info := composer.ParseAboutOutput(out)
for k, v := range info {
fmt.Printf("%s: %s\n", k, v)
}
// 典型输出:
// Composer: Composer
// version: 2.6.6
// ...单独使用解析函数
go
// 你可以传入任何 about 风格的文本来解析
raw := "Composer: Composer\nversion: 2.6.6\nreleased: 2024-02-22"
info := composer.ParseAboutOutput(raw)
fmt.Println("version =", info["version"])进阶
ParseAboutOutput 的解析规则
按 : 分割每行为 key / value,去除两端空白。无冒号的行会被跳过。因此它只适合 Key: Value 形式的输出。
想要更精确的版本信息
About 返回的是人读文本。如果你需要结构化的主/次/补丁号与发布日期,请用 GetVersionInfo,它解析 composer --version 输出为 VersionInfo 结构。