У меня есть 2 метода, которые я использую для GET
и POST
.Первый из них:
var Join map[string]int
func MapTheFields(c *gin.Context) {
var data []string
//Open the csv file
csvFile, _ := os.Open("customers.csv")
reader := csv.NewReader(csvFile)
line, _ := reader.ReadAll()
for i := 0; i < len(line[0]); i++ {
Join = map[string]int{
line[0][i]: i,
}
data = append(data, line[0][i])
}
GetSuccessResponse(c, "The Mappings are:", data)
}
Второй также похож на первый.Он просто сохраняет значения в базе данных.
Проблема, с которой я столкнулся, заключается в том, что мне нужно сопоставить поля, полученные из файла csv, с полями в моем проекте, чтобы сделать то, что я сделалкарта с именем Join
, как показано выше, и я получаю доступ к значению строки во второй функции как
line[i][Join["Last Name"]]
Но я получаю значение Join["Last Name"]
как 0
хотя его значение равно 1
, и где бы я ни использовал соединение в качестве индекса, значение равно нулю, и я всегда получаю только первые 4 значения, а затем ошибку индекса вне границ.
Код отдыха:
func ImportCustomerData(c *gin.Context) {
//Open the csv file
csvFile, _ := os.Open("customers.csv")
reader := csv.NewReader(csvFile)
var (
user models.User
customer models.Customer
address models.UserAddress
addresses []models.UserAddress
people []models.Customer
users []models.User
)
line, _ := reader.ReadAll()
for i := 1; i < len(line[0]); i++ {
//Initialize address details
address.Address = line[i][Join["address"]]
address.City = line[i][Join["City"]]
address.State = line[i][Join["State"]]
address.Zipcode = line[i][Join["Postal Code"]]
savedAddress := SaveNewAddress(address, merchantDb)
//Initalize user details
user.FirstName = line[i][Join["First Name"]]
user.LastName = line[i][Join["Last Name"]]
user.CompanyName = line[i][Join["Company Name"]]
user.EmailId = line[i][Join["Email"]]
user.PhoneNumber = line[i][Join["Phone"]]
}
}
Выход первой функции почтальона: {
"response": {
"code": 200,
"api_status": 1,
"message": "The Mappings are:",
"data": [
"First Name",
"Last Name",
"Company Name",
"Email",
"Address",
"City",
"State",
"Postal Code",
"Phone",
"Date Created",
"Stripe ID",
"Date of First Booking",
"Date of Last Booking",
"Frequency of Last Booking",
"Date of Next Booking",
"Notes",
"Customer ID"
]
}
}
Где я допустил ошибку?