GO语言struct语法-创新互联
struct
你所需要的网站建设服务,我们均能行业靠前的水平为你提供.标准是产品质量的保证,主要从事网站制作、成都网站建设、企业网站建设、手机网站制作设计、网页设计、品牌网站建设、网页制作、做网站、建网站。成都创新互联拥有实力坚强的技术研发团队及素养的视觉设计专才。-使用type
-支持指向自身的指针类型成员
-支持匿名结构、可作用成员或定义成员变量
-匿名结构也可以用于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)
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
文章标题:GO语言struct语法-创新互联
文章起源:http://azwzsj.com/article/djpcpg.html