当前位置: 首页 > wzjs >正文

购物类型网站建设网站建设与网页设计制作

购物类型网站建设,网站建设与网页设计制作,项目计划书图片,做润滑油网站图片现在有一个结构体,其中一个属性组合了另外一个结构体,如下所示: type User struct {Id int64Name stringAge int64UserInfo }type UserInfo struct {Phone stringAddress string }如果要给 User 结构体的 Phone 和 Address 赋值的话&am…

现在有一个结构体,其中一个属性组合了另外一个结构体,如下所示:

type User struct {Id   int64Name stringAge  int64UserInfo
}type UserInfo struct {Phone   stringAddress string
}

如果要给 User 结构体的 PhoneAddress 赋值的话,有两种写法,如下:

func main() {//方式1var user1 Useruser1.Id = 1user1.Name = "张三"user1.Age = 18user1.Phone = "123456789"user1.Address = "北京"jsonData1, _ := json.Marshal(user1)fmt.Println(string(jsonData1))//方式2user2 := User{Id:   1,Name: "张三",Age:  18,UserInfo: UserInfo{Phone:   "123456789",Address: "北京",},}jsonData2, _ := json.Marshal(user2)fmt.Println(string(jsonData2))
}

这两种方法都能输出一维结构的json:
在这里插入图片描述

注意:下面两种赋值方式都是错的,编译不通过:

//方式2的错误写法1:
user2Error1 := User{Id:   1,Name: "张三",Age:  18,UserInfo{ //报错:Mixture of fields: value and value initializersPhone:   "123456789",Address: "北京",},
}//方式2的错误写法2:
user2Error1 := User{Id:      1,Name:    "张三",Age:     18,Phone:   "123456789", //报错:读取不到此属性 Unknown field 'Phone' in struct literal,下同Address: "北京",
}

在这里插入图片描述

如果组合的结构体在另外一个 package 里面,看下面,注意细节:

package commontype ExtraData struct {ExtraId   int64ExtraName string
}
type User struct {Id               int64Name             stringAge              int64UserInfo         //组合当前package的结构体common.ExtraData //组合其它package的结构体
}
user2 := User{Id:   1,Name: "张三",Age:  18,UserInfo: UserInfo{ //组合当前package的结构体Phone:   "123456789",Address: "北京",},ExtraData: common.ExtraData{ //组合其它package的结构体ExtraId:   100,ExtraName: "extraName",},
}

输出结果:

{"Id":1,"Name":"张三","Age":18,"Phone":"123456789","Address":"北京","ExtraId":100,"ExtraName":"extraName"}

注意这两个地方的写法:
在这里插入图片描述

如果需要输出二维结构,那么定义的结构体应当是下面这样:

// 定义二维结构体
type User2 struct {Id   int64    `json:"id"`Name string   `json:"name"`Age  int64    `json:"age"`Info UserInfo `json:"info"` //注意:这里需要给组合的结构体前面加一个属性名称
}type UserInfo struct {Phone   stringAddress string
}

然后赋值的方式如下:

//输出二维结构
var u1 User2
u1.Id = 2
u1.Name = "李四"
u1.Age = 25
u1.Info.Phone = "131000001"
u1.Info.Address = "上海"
json1, _ := json.Marshal(u1)
fmt.Println(string(json1))u2 := User2{Id:   3,Name: "王五",Age:  39,Info: UserInfo{Phone:   "1891234",Address: "深圳",},
}
json2, _ := json.Marshal(u2)
fmt.Println(string(json2))

在这里插入图片描述

https://gitee.com/rxbook/go-demo-2025/blob/master/demo/structDemo/struct_combination.go

http://www.dtcms.com/wzjs/360636.html

相关文章:

  • 百度提交入口网址截图苏州网站关键字优化
  • 网站如何制作浙江东莞网站seo推广
  • 杭州网站建设q479185700惠百度怎么发布广告
  • 产品网站别人是如何做优化的seo技巧
  • 上海工程建设招投标网站关键词排名 收录 查询
  • asp个人网站怎么建设图片优化网站
  • 互联网建站安顺seo
  • 垂直门户网站建设培训课程表
  • 外汇网站怎么做优化信阳网站seo
  • 如何架设内部网站百度ocpc如何优化
  • 网站制作公司网站建设百度公司在哪里
  • 土木工程毕业论文代做网站无锡网站seo顾问
  • 网站开发合同模板免费seo点击排名源码
  • 专做国际时事评论网站线上培训机构有哪些
  • 做网站去除视频广告好消息疫情要结束了
  • 网站上职业学校排名 该怎么做搜索引擎优化特点
  • 企业网站包含的要素免费发布信息的平台有哪些
  • 中国疫情最新消息信息浙江企业seo推广
  • 网站建设规划书电商网站建设策划书范文
  • 大良招聘网站建设中国搜索引擎排名
  • 青岛商家都上什么网站b站怎么推广自己的视频
  • 佛山网站代运营准度科技有限公司sem是什么意思的缩写
  • ps做的网站稿怎么做成网站快速建网站
  • 工业和信息化部电信设备认证中心廊坊快速优化排名
  • 优化网站设计有哪些方法正规seo一般多少钱
  • 计算机网络资源网站建设论文太原seo网站优化
  • python源码分享网站无忧软文网
  • 新公司在哪做网站企业网站设计方案
  • 电商网站设计是干什么的win10必做的优化
  • 毕设做网站需要准备如何给公司网站做推广