【问题标题】:cannot use phone (type string) as type int in assignment [duplicate]不能在分配中使用电话(类型字符串)作为类型 int [重复]
【发布时间】:2019-08-14 15:51:17
【问题描述】:

我有一个错误“不能在赋值中使用电话(类型字符串)作为 int 类型”, 如何解决这个问题?

我在 github.com/gin-gonic/gin 和 github.com/jinzhu/gor 中使用

package main

import (
    "github.com/jinzhu/gorm"
    "github.com/gin-gonic/gin"
)

type Employees struct {
    gorm.Model
    Phone int
}

func (idb *InDB) CreateEmployees(c *gin.Context) {
    var (
        em models.Employees
        result gin.H
  )

  phone := c.PostForm("phone")
  em.Phone = phone

  result = gin.H {
        "result": em,
    }
    c.JSON(http.StatusOK, result)
}

【问题讨论】:

  • 电话号码不是整数。你为什么要宣布它为一个? (555) 555-5555 如何是一个整数值?您可以对int 进行数学运算。你怎么用电话号码做到这一点?如何将电话号码乘以 2?

标签: go go-gorm go-gin


【解决方案1】:

PostForm 中的值都是字符串。您应该将phone 声明为字符串类型,或者将电话号码从字符串转换为整数。喜欢strconv.Atoistrconv.ParseInt

phone := c.PostForm("phone")
phoneNumber, _ := strconv.Atoi(phone)
em.Phone = phoneNumber

【讨论】:

    猜你喜欢
    • 2020-01-17
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 2021-10-21
    • 2021-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多