JSON文字列のtime.Duration
への変換を効率的に処理して、直接の敏aserializationによって引き起こされるエラーを回避するために、GO言語での定義。この記事は、シンプルで効率的なソリューションを提供します。
問題の背景: encoding/json
パッケージを使用してJSONを降下する場合、JSON文字列をtime.Duration
タイプに直接変換すると、エラーが発生します。
解決策: time.Duration
フィールドをint64
に置き換えます。根底にあるタイプのtime.Duration
はint64
であるため、この方法はJSON文字列で表される時間の長さを直接保存できます。降下後、 time.ParseDuration()
関数を使用してtime.Duration
タイプに変換します。
コード例:
パッケージメイン 輸入 ( 「エンコード/json」 「FMT」 "時間" )) タイプ学生struct { id int `json:" id "` 性別文字列 `json:"ジェンダー "` 名前文字列 `json:" name "` sno string `json:" sno "` Tim int64 `json:" time "` // int64を使用して時間の長さを保存} func main(){ jsondata:= [] byte( `{" id ":12、" gender ":" male "、" name ":" li si "、" sno ":" 001 "、" time ":2000}`)// 2S = 2000ms var S1学生 json.unmarshal(jsondata、&s1) 期間、err:= time.parseduration(fmt.sprintf( "%dms"、s1.tim))) err!= nil { fmt.println( "エラー解析時間:"、err) } それ以外 { fmt.printf( "持続時間:%v \ n"、期間) } }
構造のカスタマイズやUnmarshalJSON
メソッドの実装など、その他の方法は実行可能ですが、コードの複雑さを高め、最終的にはタイプ変換が必要です。この方法は、それほど単純で効率的ではありません。したがって、 int64
中間ストレージタイプとして使用し、必要に応じて明示的な変換を実行することをお勧めします。これは、より直接的で効率的なソリューションです。
以上がjson文字列をgoの時間に効率的に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

go语言有缩进。在go语言中,缩进直接使用gofmt工具格式化即可(gofmt使用tab进行缩进);gofmt工具会以标准样式的缩进和垂直对齐方式对源代码进行格式化,甚至必要情况下注释也会重新格式化。

go语言叫go的原因:想表达这门语言的运行速度、开发速度、学习速度(develop)都像gopher一样快。gopher是一种生活在加拿大的小动物,go的吉祥物就是这个小动物,它的中文名叫做囊地鼠,它们最大的特点就是挖洞速度特别快,当然可能不止是挖洞啦。

是,TiDB采用go语言编写。TiDB是一个分布式NewSQL数据库;它支持水平弹性扩展、ACID事务、标准SQL、MySQL语法和MySQL协议,具有数据强一致的高可用特性。TiDB架构中的PD储存了集群的元信息,如key在哪个TiKV节点;PD还负责集群的负载均衡以及数据分片等。PD通过内嵌etcd来支持数据分布和容错;PD采用go语言编写。

go语言需要编译。Go语言是编译型的静态语言,是一门需要编译才能运行的编程语言,也就说Go语言程序在运行之前需要通过编译器生成二进制机器码(二进制的可执行文件),随后二进制文件才能在目标机器上运行。

go语言能编译。Go语言是编译型的静态语言,是一门需要编译才能运行的编程语言。对Go语言程序进行编译的命令有两种:1、“go build”命令,可以将Go语言程序代码编译成二进制的可执行文件,但该二进制文件需要手动运行;2、“go run”命令,会在编译后直接运行Go语言程序,编译过程中会产生一个临时文件,但不会生成可执行文件。

删除map元素的两种方法:1、使用delete()函数从map中删除指定键值对,语法“delete(map, 键名)”;2、重新创建一个新的map对象,可以清空map中的所有元素,语法“var mapname map[keytype]valuetype”。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

Dreamweaver Mac版
ビジュアル Web 開発ツール

ホットトピック



