欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

GO將mysql?中?decimal?數(shù)據(jù)類(lèi)型映射到?protobuf的操作方法

 更新時(shí)間:2022年09月26日 10:07:36   作者:CTRA王大大  
這篇文章主要介紹了go如何優(yōu)雅地將?mysql?中?decimal?數(shù)據(jù)類(lèi)型映射到?protobuf,本文主要展示一下在 protobuf中 float與double的一個(gè)區(qū)別,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下

protobuf中 float與double

1、如何在rpc中優(yōu)雅取出dcemial類(lèi)型

例如我們?cè)趍ysql中定義的一個(gè)字段如下:

`discount` decimal(10,2) NOT NULL DEFAULT '0.00' COMMENT '折扣',

2、在rpc中 proto我們定義如下

這里主要展示一下在 protobuf中 float與double的一個(gè)區(qū)別

2.1、proto - double

*.proto文件如下:

message Price {
  double discount = 1; // 折扣
}

我們來(lái)看一下定義為double生成的實(shí)體類(lèi)為
通過(guò)go-zero直接生成的*_pb.go文件如下:

type Price struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Discount  float64 `protobuf:"fixed64,6,opt,name=discount,proto3" json:"discount"`         // 折扣
}

2.2、proto - float

*.proto文件如下:

message Price {
  float discount = 1; // 折扣
}

我們來(lái)看一下定義為double生成的實(shí)體類(lèi)為
通過(guò)go-zero直接生成的*_pb.go文件如下:

type Price struct {
	state         protoimpl.MessageState
	sizeCache     protoimpl.SizeCache
	unknownFields protoimpl.UnknownFields

	Discount  float32 `protobuf:"fixed32,1,opt,name=discount,proto3" json:"discount"`         // 折扣
}

3、在go-zero的sqlx中生成的model

結(jié)論:sqlx將decimal類(lèi)型生成float64類(lèi)型的struct
對(duì)應(yīng)我們的第一條mysql的decimal類(lèi)型通過(guò)
orm生成model指令:

goctl model mysql datasource -url="root:123@tcp(127.0.0.1:3306)/數(shù)據(jù)庫(kù)名" -table="xxx" -dir=./internal/model

在這里插入圖片描述

到此這篇關(guān)于go如何優(yōu)雅地將 mysql 中 decimal 數(shù)據(jù)類(lèi)型映射到 protobuf的文章就介紹到這了,更多相關(guān)go mysql數(shù)據(jù)類(lèi)型映射內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • GO語(yǔ)言延遲函數(shù)defer用法詳解

    GO語(yǔ)言延遲函數(shù)defer用法詳解

    本文主要介紹了GO語(yǔ)言延遲函數(shù)defer用法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • go語(yǔ)言按顯示長(zhǎng)度截取字符串的方法

    go語(yǔ)言按顯示長(zhǎng)度截取字符串的方法

    這篇文章主要介紹了go語(yǔ)言按顯示長(zhǎng)度截取字符串的方法,涉及Go語(yǔ)言操作字符串的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • GoLang職責(zé)鏈模式代碼實(shí)現(xiàn)介紹

    GoLang職責(zé)鏈模式代碼實(shí)現(xiàn)介紹

    這篇文章主要介紹了GoLang職責(zé)鏈模式代碼實(shí)現(xiàn),職責(zé)鏈模式是一種常用的設(shè)計(jì)模式,可以提高代碼的靈活性與可維護(hù)性,職責(zé)鏈模式將請(qǐng)求和處理分離,可以讓請(qǐng)求在處理鏈中依次經(jīng)過(guò)多個(gè)處理者,直到找到能夠處理請(qǐng)求的處理者為止
    2023-05-05
  • Go結(jié)構(gòu)體的基本使用詳解

    Go結(jié)構(gòu)體的基本使用詳解

    本文主要介紹了Go結(jié)構(gòu)體的基本使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • 超全講解Golang中defer關(guān)鍵字的用法

    超全講解Golang中defer關(guān)鍵字的用法

    本文將從一個(gè)資源回收問(wèn)題引入,引出defer關(guān)鍵字,并對(duì)其進(jìn)行基本介紹,從而讓大家對(duì)Go語(yǔ)言中的defer有更深入的了解,需要的小伙伴可以學(xué)習(xí)一下
    2023-05-05
  • Golang中文件目錄操作的實(shí)現(xiàn)步驟詳解

    Golang中文件目錄操作的實(shí)現(xiàn)步驟詳解

    在Golang中,文件目錄是指計(jì)算機(jī)文件系統(tǒng)中的文件夾或目錄。目錄是用于組織和存儲(chǔ)文件的一種方式,可以包含文件和其他子目錄,本文主要介紹了Golang中文件目錄操作的實(shí)現(xiàn)方法,需要的朋友可以參考下
    2023-05-05
  • Go語(yǔ)言中日志統(tǒng)一處理詳解

    Go語(yǔ)言中日志統(tǒng)一處理詳解

    在現(xiàn)代軟件開(kāi)發(fā)中,日志記錄是一項(xiàng)至關(guān)重要的任務(wù),它不僅幫助開(kāi)發(fā)人員診斷問(wèn)題,還有助于監(jiān)控和維護(hù)應(yīng)用程序,本文主要來(lái)和大家聊聊日志的統(tǒng)一處理,感興趣的小伙伴可以了解下
    2024-01-01
  • golang實(shí)現(xiàn)并發(fā)控制的方法和技巧

    golang實(shí)現(xiàn)并發(fā)控制的方法和技巧

    golang 是一門(mén)支持并發(fā)的編程語(yǔ)言,它提供了 goroutine 和 channel 等強(qiáng)大的特性,讓我們可以輕松地創(chuàng)建和管理多個(gè)執(zhí)行單元,實(shí)現(xiàn)高效的任務(wù)處理,在本文中,我們將介紹一些 golang 的并發(fā)控制的方法和技巧,希望對(duì)你有所幫助
    2024-03-03
  • Golang操作Kafka的實(shí)現(xiàn)示例

    Golang操作Kafka的實(shí)現(xiàn)示例

    本文主要介紹了Golang操作Kafka的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02

最新評(píng)論