博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GO语言struct语法
阅读量:6704 次
发布时间:2019-06-25

本文共 1700 字,大约阅读时间需要 5 分钟。

struct

-使用type<Name>struct{}定义结构,名称遵循可见性规则

-支持指向自身的指针类型成员

-支持匿名结构、可作用成员或定义成员变量

-匿名结构也可以用于MAP的值

-可以使用字面值对结构进行初始化

-允许值通过指针来读写结构成员

-相同类型的成员可进行直接拷贝赋值

-支持==与!=比较运算符,不支持>或<

-支持匿名字段,本质上是定义了以某个类型名称的字段

-嵌入结构作为匿名字段看起来像继承、但不是继承

-可以使用匿名字段的指针

package main

import "fmt"

type test struct{}

func main(){

a :=test{}

fmt.Println(a)

}

package main
import "fmt"
type test struct {
    Name    string
    Age     int
    Address string
}
func main() {
    a := test{}
    a.Name = "YH" //值初始化,与其他语言的class类似,GO语言没有指针运算,
    a.Age = 18
    fmt.Printf("我叫%s, 今年年方%d\n", a.Name, a.Age)
    b := test{
        Name:    "YH",
        Age:     19,
        Address: "Japan",
    }
    fmt.Printf("我叫%s, 今年年方%d,我是%s\n人", b.Name, b.Age, b.Address)
}

//匿名结构

package main
import "fmt"
type test struct {
    Name    string
    Age     int
    Address string
    Contact struct {
        User_phont string
        City       string
    }
}
func main() {
    a := test{Name: "yh", Age: 19, Address: "Bj"}
    a.Contact.User_phont = "1234567890"
    a.Contact.City = "haidian"
    fmt.Println(a)
}
 

package main

import "fmt"

func main() {

a := struct {

Name string

Age  int

}{

Name: "aa",

Age:  19,

}

fmt.Println(a)

}

package main

import "fmt"

type test struct{

Name string

Age int

}

func main(){

a :=test{

Name:"coolqi",  //设置字面值初始化

}

a.Age=19//

fmt.Println(a)

}

package main

import "fmt"

type humen struct{

Sex int

}

type Teacher struct{

humen

Name string

Age int

}

type Student struct{

humen    //这里的嵌入式是一个匿名的字段,本质上是将结构的名称作为字段名称,若需要作为字面值初始化,需要做humen:humen{Sex:1}

Name string

Age int

}

func main(){

a :=Teacher{Name:"joe",Age:19,humen:humen{Sex:1}}//在嵌入式结构中,

fmt.Println(a)

}

本文转自 DBAspace 51CTO博客,原文链接:http://blog.51cto.com/dbaspace/1963454

转载地址:http://moblo.baihongyu.com/

你可能感兴趣的文章
微软宣布Azure Function支持Python
查看>>
3·15曝光丨智能机器人一年拨打40亿个骚扰电话,6亿人信息已遭泄露!
查看>>
ArchSummit深圳2016大会7折售票最后一周
查看>>
2019年React学习路线图
查看>>
Google Docs API正式可用,可自动化文档任务和内容管理
查看>>
清华\u0026商汤开源超高精度边缘感知人脸对齐算法
查看>>
全面了解大数据“三驾马车”的开源实现
查看>>
GitHub宣布推出Electron 1.0和Devtron,并将提供无限制的私有代码库
查看>>
人工智能白热化,运维脱帽“背锅侠”
查看>>
Android中使PopupWindow显示在指定控件的上下左右!
查看>>
html中ul标签的优化
查看>>
Android Studio 3.2 Canary带来了更好的跟踪支持、Lint检查等特性
查看>>
Kurento安装与入门05——One to many video call
查看>>
[deviceone开发]-cnodejs论坛移动端App
查看>>
智能指针shared_ptr(effective modern c++笔记)
查看>>
Failed to validate a newly established connection异常
查看>>
关联对象 AssociatedObject 完全解析
查看>>
打造最美HTML5 3D机房(MONO哥强势归来,第四季惊艳发布)
查看>>
Windows下80端口被pid为4的System进程占用解决方法
查看>>
POST 后台404错误
查看>>