code: func (p *Prompt) Slice(q string, slice []string, def ...int) (selected []int, err error) {
  	w := &w{}
  	w.println(p.output, colors.Default, q)
  	for i, v := range slice {
  		c := colors.Default
  		if inIntSlice(i, def) {
  			c = p.defaultColor
  		}
  		w.printf(p.output, c, "（%d）", i)
  		w.printf(p.output, colors.Default, "%s\n", v)
  	}
  	w.print(p.output, colors.Default, "请输入你的选择项，多项请用半角逗号（,）分隔：")
  
  	val := w.read(p)
  	if w.err != nil {
  		return nil, w.err
  	}
  
  	if val == "" {
  		return def, nil
  	}
  
  	for _, v := range strings.Split(val, ",") {
  		vv, err := strconv.Atoi(v)
  		if err != nil {
  			return nil, err
  		}
  		selected = append(selected, vv)
  	}
  	return selected, nil
  }
docs: // Slice 输出一个选择性问题，并获取用户的选择项
  //
  // q 表示问题内容；
  // slice 表示可选的问题列表；
  // def 表示默认项的索引，必须在 slice 之内。