golang学习笔记——struct结构体

定义
type 变量名 struct{
    元素1名称 元素1类型
    元素2名称 元素2类型
}
package main
 
import (
    "fmt"
)
 
type student struct {
    id   int
    name string
    age  int
    addr string
}
 
func main() {
    //顺序初始化 每个元素必须都设置
    s1 := student{1, "mayuan", 26, "tianjin"}
    fmt.Println("s1 = ", s1)
    //指定元素赋值,其他元素默认0
    s2 := student{name: "mayuan", age: 26}
    fmt.Println("s2 = ", s2)
}
 
操作成员使用(.)运算符
package main
 
import (
    "fmt"
)
 
type student struct {
    id   int
    name string
    age  int
    addr string
}
 
func main() {
    var s1 student
    s1.name = "mayuan"
    s1.age = 26
    fmt.Println("s1 = ", s1)
}
 
指针操作
package main
 
import (
    "fmt"
)
 
type student struct {
    id   int
    name string
    age  int
    addr string
}
 
func main() {
    //指针指向合法操作后,才操作成员
    var s student
    var p1 *student
    p1 = &s
    //使用 p1.id和(*p1).id相同
    p1.name = "mayuan"
    (*p1).addr = "tianjin"
    p1.age = 26
    fmt.Println("s = ", s)
 
    //使用new 得到一个指针
    p2 := new(student)
    p2.addr = "haha"
    fmt.Println("*p2 = ", *p2)
}
 
参数为值传递
package main
 
import "fmt"
 
type student struct {
   age int
   username string
}
 
func changeStu(stu student){
   stu.username = "LiLi"
}
 
func main() {
   lili := student{24,"lili"}
   changeStu(lili)
   fmt.Println(lili)
}
//*********输出***********
{24 lili}
Tags 标签(可以在元素后面添加 `标签1 标签2 标签3`  来定义元素的属性)
type student struct {
   age int    `json:"age" xml:"age"`
   username string
}
posted @ 2021-02-28 10:54  GPHPER  阅读(158)  评论(0编辑  收藏  举报
TOP