代码拉取完成,页面将自动刷新
package gprompt
import (
"fmt"
"github.com/manifoldco/promptui"
"os"
)
// 使用泛型定义RunPrompt
func RunPrompt[T any](label string, items []T) (string, error) {
// 实现提示
// Label: 提示文本
// Items: 提示选项, 切片中每个item可以是任意类型
// RunPrompt函数现在是一个泛型函数,它接受一个类型参数T,这意味着你可以传递任何类型的切片给items参数。
// 函数内部,我们将items从[]T转换为[]interface{},因为promptui.Select的Items字段需要[]interface{}类型。
interfaceItems := make([]interface{}, len(items))
for i, v := range items {
interfaceItems[i] = v
}
prompt := promptui.Select{
Label: label,
Items: interfaceItems,
}
_, result, err := prompt.Run()
if err != nil {
_, _ = fmt.Fprintf(os.Stderr, "Prompt failed %v\n", err)
return "", err
}
return result, nil
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。