1. 程式人生 > >結構體基本使用

結構體基本使用

結構體基本使用

package main

import "fmt"

func main() {
    //順序初始化,每個成員必須賦值
    var student = Student{"fan", 20, 'm'}
    fmt.Println("student = ", student)
    //指定成員初始化,沒有初始化的成員,自動賦值為0
    student1 := Student{name: "fan", age: 20}
    fmt.Println("student1 = ", student1)
    //通過new函式建立Student,  new函式返回一個指標
student2 := new(Student) student2.name = "張三" student2.age = 20 fmt.Println("student2 = ", student2) (*student2).age = 30 fmt.Println("student2 = ", student2) //結構體比較 var student3 = Student{"張三", 20, 'm'} var student4 = Student{"張三", 20, 'm'} fmt.Println("student3 == student4 :
", student3 == student4) //結構體做函式引數:值傳遞 var student5 = Student{"張三", 20, 'm'} valuePropagation(student5) fmt.Println("值傳遞:student = ", student5) reference(&student5) fmt.Println("引用傳遞:student = ", student5) } type Student struct { name string age int sex byte
} //值傳遞 func valuePropagation(student Student) { student.name = "李四" //fmt.Println("值傳遞: student5 = ", student) } //引用傳遞 func reference(p *Student) { p.name = "李四" }