结构体构造函数

简单记录一下 结构体**构造函数 **使用方法,在结构体赋值时使用。
构造函数即 返回一个结构体变量的函数 <很多语言为内置函数,golang与众不同 --!>

package main

import "fmt"

// 声明结构体
type student struct {
   name   string
   age       int
   grades float64
}

// 构造函数 ——> 以new开头
// 返回 结构体 vs 结构体指针
// 当结构体较大时 使用结构体指针,减少程序内存开销
func newStudent(name string,age int,grades float64) student {
   return student{
      name:   name,
      age:    age,
      grades: grades,
   }
}

// 指针结构体
func newStudent(name string,age int,grades float64) *student {
    return &student{
        ...
    }

func main() {
   p1 := newStudent("侠奢",20,99.9999)
   p2 := newStudent("小王",18,59.9999)

   fmt.Printf("%s在%d岁时取得了%f的好成绩\n",p1.name,p1.age,p1.grades)
   fmt.Printf("%s在%d岁时取得了%f的好成绩\n",p2.name,p2.age,p2.grades)
}
posted @ 2020-04-25 10:39  侠奢  阅读(681)  评论(0)    收藏  举报