GO结构体之间的转换
2023-09-14 09:01:53 时间
第一种
package main
import (
"fmt"
"reflect"
)
// 进行转换时需保证字段完全一致
type Student struct {
Age int
}
type Person struct {
Age int
}
func main() {
var s Student = Student{10}
var p Person = Person{10}
s1 := Student(p)
fmt.Println(s)
fmt.Println(p)
fmt.Println(reflect.TypeOf(s1))
}
第二种
package main
import (
"fmt"
)
// 进行type重新定义struct 相当于别名 别名会被当做新的数据类型,但是相互间是可以进行转换的
type Student struct {
Age int
}
type Stu Student
func main() {
var s1 Student = Student{10}
var s2 Stu = Stu{10}
s1 = Student(s2)
fmt.Println(s1)
fmt.Println(s2)
}
相关文章
- 04.Go语言-变量与常量
- go富集分析和kegg富集分析的区别_非模式生物怎么做GO富集
- 【愚公系列】2022年08月 Go教学课程 035-接口和继承和转换与空接口
- Go跳槽面试 必懂知识点:select和channel
- Go 语言怎么处理三方接口返回数据?
- 「Go工具箱」redis官网推荐的go版本的分布式锁:redsync
- 「Go工具箱」go语言csrf库的使用方式和实现原理
- client-go 源码分析(8) - workerqueue之延时队列DelayingQueue
- Go ORM 干啥的?
- Go微服务(三)——gRPC详细入门
- Go-包管理-go get(一)
- go pprof命令(Go语言性能分析命令)完全攻略
- 使用Go语言来操作Oracle数据库(go语言oracle)
- 精通Go语言开发Redis应用(go语言redis开发)
- Go语言环境配置:在 Linux 下实现(go环境搭建linux)
- 语言结合SQL Server,Go谱写新篇章(sqlserver的go)
- 关键字在SQL Server中利用GO关键字实现更优化的操作(sqlserver中go)
- SQL Server快速上手GO!(sqlserver go)
- 踏上oracle编程之路,Go(go oracle编程)