code: func encodeItem(data interface{}) (item string) {
  	switch v := data.(type) {
  	case string:
  		item = EncodeString(v)
  	case int:
  		item = EncodeInt(v)
  	case []interface{}:
  		item = EncodeList(v)
  	case map[string]interface{}:
  		item = EncodeDict(v)
  	default:
  		panic("invalid type when encode item")
  	}
  	return
  }
docs: // EncodeItem encodes an item of dict or list.