首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    go的struct的使用

    package main import ( "fmt" "reflect" ) //跟C语言或其它语言一样,也有结构体struct。C语言中用关键词typedef来给结构体定义,Go中用的都是type。struct 语法格式:type typeName struct {...} ,按照对象的理解:struct就是类,函数就是方法。 type person struct { name string age int32 } type course []string type student struct { name string age int32 grade string } type class struct { student //匿名字段,struct course //匿名字段,自定义类型 int32 //内置类型做完匿名字段 teacher string } type goods struct { name string "goods_name" price float64 "goods_price" } func main() { //单独声明和赋值 var p1 person p1.name = "zengzhihai" p1.age = 40 //直接声明和赋值 p2 := person{"xiaogao", 20} //通过 field:value 的方式初始化,这样可以任意顺序 p3 := person{age: 22, name: "xiaoqing"} fmt.Println(p1, p2, p3) stu1 := class{student: student{"xiaoming", 18, "高三"}, teacher: "杰伦"} //修改course字段 stu1.course = make([]string, 6) stu1.course[0] = "math" stu1.course = append(stu1.course, "china") //修改匿名内置字段 stu1.int32 = 5 fmt.Println(stu1) g := &goods{"zhuihui", 40} s := reflect.TypeOf(g).Elem() //通过反射获取type的定义 for i := 0; i < s.NumField(); i++ { fmt.Println(s.Field(i).Tag) // 讲tag打印出来 } }

    02

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券