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

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

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

protobuf中 float與double

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

例如我們在mysql中定義的一個字段如下:

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

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

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

2.1、proto - double

*.proto文件如下:

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

我們來看一下定義為double生成的實體類為
通過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; // 折扣
}

我們來看一下定義為double生成的實體類為
通過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類型生成float64類型的struct
對應我們的第一條mysql的decimal類型通過
orm生成model指令:

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

在這里插入圖片描述

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

相關文章

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

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

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

    go語言按顯示長度截取字符串的方法

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

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

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

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

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

    超全講解Golang中defer關鍵字的用法

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

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

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

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

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

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

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

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

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

最新評論