如何将 uint64 转换为 uint?

我有以下功能:


func (rc ResizeController) Resize(c *gin.Context) {


    height := c.Query("height")

    width := c.Query("width")

    filepath := c.Query("file")


    h, err := strconv.ParseUint(height, 10, 32)

    w, err := strconv.ParseUint(width, 10, 32)


    file, err := os.Open("./test_images/" + filepath)


    if err != nil {

        log.Fatal(err)

    }


    image, err := jpeg.Decode(file)


    if err != nil {

        log.Fatal(err)

    }


    m := resize.Resize(1000, 100, image, resize.Lanczos3)


    buf := new(bytes.Buffer)

    jpeg.Encode(buf, m, nil)

    response := buf.Bytes()


    c.Data(200, "image/jpeg", response)

}

但我收到以下错误:


controllers/resize_controller.go:41: cannot use h (type uint64) as type uint in argument to resize.Resize

controllers/resize_controller.go:41: cannot use w (type uint64) as type uint in argument to resize.Resize

我已经尝试了 strconv lib 中的一些不同功能,但没有成功!


慕运维8079593
浏览 292回答 1
1回答

白板的微信

无需使用任何strconv功能;只需将类型转换为uint:h64, err := strconv.ParseUint(height, 10, 32)if err != nil {    // TODO: handle error}w64, err := strconv.ParseUint(width, 10, 32)if err != nil {    // TODO: handle error}h := uint(h64)w := uint(w64)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go