go 变量与json相互转换

简介: go 变量与json相互转换

把float64 秒 时间格式化

secToSrtTime := func(start, end float64) string {
    startI := int64(start * 1e9)
    endI := int64(end * 1e9)
    // 00:00:00.000
    stdTime := func(t time.Duration) string {
      return fmt.Sprintf("%02d:%02d:%02.3f", int(t.Hours()), int(t.Minutes()), t.Seconds())
    }
    // 不要加换行
    return stdTime(time.Duration(startI)) + " --> " + stdTime(time.Duration(endI)) + " line:0% "
  }

struct 转字符串 str

package main
import (
    "encoding/json"
    "fmt"
    "reflect"
)
// 结构体 中的 数据 一定要 开头大写`json:"year" `
type mydata struct {
    Year1  string
    Month1 string `json:"month"`
    Day1   string `json:"day"`
}
func main3() {
    mydata_1 := []mydata{{"1", "2", "3"}, {"2", "4", "6"}}
    json_mydata, resinfo1 := json.Marshal(mydata_1)
    fmt.Println(string(json_mydata), resinfo1)

字符串 str 转 struct

    json_byt1 := []byte(`{"num":613,"strs":["a","b"]}`)
    var loud_json1 map[string]interface{}
    _ = json.Unmarshal(json_byt1, &loud_json1)
    num1 := loud_json1["num"]
    fmt.Println(num1)
    fmt.Println(reflect.TypeOf(num1))
}
相关文章
|
1月前
|
存储 安全 编译器
掌握Go语言:探索Go语言中的变量,灵活性与可读性的完美结合(4)
掌握Go语言:探索Go语言中的变量,灵活性与可读性的完美结合(4)
|
5月前
|
Go
Go入门速成-定义变量
Go入门速成-定义变量
|
5月前
|
JSON JavaScript Go
Go 语言学习指南:变量、循环、函数、数据类型、Web 框架等全面解析
掌握 Go 语言的常见概念,如变量、循环、条件语句、函数、数据类型等等。深入了解 Go 基础知识的好起点是查阅 Go 官方文档
500 2
|
7天前
|
JSON 编解码 Go
【Go语言专栏】Go语言中的JSON编码与解码
【4月更文挑战第30天】Go语言内置JSON编码解码支持,简化了数据交换。`json.Marshal`用于将Go结构体转换为JSON,如示例中`Person`结构体的编码。`json.Unmarshal`则将JSON数据反序列化到结构体,需传入结构体变量的地址。错误处理至关重要,特别是在处理大量数据时,要注意性能优化,如避免不必要的转换和重复操作。了解自定义编码解码和最佳实践能提升开发效率。掌握这些技能,有助于构建高效Go应用。
|
7天前
|
Go
【Go语言专栏】Go语言的并发编程进阶:互斥锁与条件变量
【4月更文挑战第30天】本文探讨了Go语言中的互斥锁(Mutex)和条件变量(Condition Variable)在并发编程中的应用。互斥锁用于保护共享资源,防止多goroutine同时访问,通过Lock和Unlock进行控制,需注意避免死锁。条件变量则允许goroutine在条件满足时被唤醒,常与互斥锁结合使用以提高效率。了解和掌握这些同步原语能提升Go并发程序的性能和稳定性。进一步学习可参考Go官方文档和并发模式示例。
|
7天前
|
存储 Go 开发者
【Go语言专栏】Go语言中的变量、常量和数据类型
【4月更文挑战第30天】Go语言以其简洁、高效和并发性备受开发者喜爱。本文聚焦变量、常量和数据类型。变量声明可使用`var`或类型推断,如`var a int = 10`和`b := "hello"`。常量用`const`声明,不可变,如`const pi float64 = 3.1415926`。数据类型包括基本类型(数值、布尔、字符串)和复合类型(数组、切片、结构体、接口)。理解这些基础将助力开发者深入学习Go语言的高级特性。
|
7天前
|
JSON JavaScript 前端开发
Golang深入浅出之-Go语言JSON处理:编码与解码实战
【4月更文挑战第26天】本文探讨了Go语言中处理JSON的常见问题及解决策略。通过`json.Marshal`和`json.Unmarshal`进行编码和解码,同时指出结构体标签、时间处理、omitempty使用及数组/切片区别等易错点。建议正确使用结构体标签,自定义处理`time.Time`,明智选择omitempty,并理解数组与切片差异。文中提供基础示例及时间类型处理的实战代码,帮助读者掌握JSON操作。
20 1
Golang深入浅出之-Go语言JSON处理:编码与解码实战
|
10天前
|
数据可视化
R语言多元(多变量)GARCH :GO-GARCH、BEKK、DCC-GARCH和CCC-GARCH模型和可视化
R语言多元(多变量)GARCH :GO-GARCH、BEKK、DCC-GARCH和CCC-GARCH模型和可视化
|
18天前
R语言多变量广义正交GARCH(GO-GARCH)模型对股市高维波动率时间序列拟合预测
R语言多变量广义正交GARCH(GO-GARCH)模型对股市高维波动率时间序列拟合预测
|
1月前
|
JSON 数据格式
Json字符串与QVariantList 对象相互转换
Json字符串与QVariantList 对象相互转换
9 0