code: func Encode(data interface{}) string {
  	switch v := data.(type) {
  	case string:
  		return EncodeString(v)
  	case int:
  		return EncodeInt(v)
  	case []interface{}:
  		return EncodeList(v)
  	case map[string]interface{}:
  		return EncodeDict(v)
  	default:
  		panic("invalid type when encode")
  	}
  }
docs: // Encode encodes a string, int, dict or list value to a bencoded string.