工廠模式
尚硅谷Golang課
//工廠模式
// 假如有些要公用的東西又不想用大寫讓人隨意改了 例如結構體、結構體內的字段等等
// 我就在那個包裏建一個方法,這個方法本身大寫,在方法中原地調用那些本來是大寫的玩意
// 返回一個相同的值過來,相當於那在那個包里把該封裝的都封好,拿出來的就是產品

import (
	"fmt"
)

type Student struct {
	Name  string
	Age   int
	Score float64
}

func (s *Student) Say() string {
	infoStr := fmt.Sprintf("信息 name=[%v] age=[%v] score=[%v]",
		s.Name, s.Age, s.Score)
	return infoStr
}

func main() {
	var s1 = Student{
		Name:  "tom",
		Score: 98,
		Age:   18, //不依賴順序
	}
	res := s1.Say()
	fmt.Println(res)

	//其他創建結構變量同時指定值的方法:
	stu2 := Student{"Jack", 20, 100} //項目順序都要有對應
	fmt.Println(stu2)
	//返回結構的指針
	var stu3 = &Student{"Mary", 28, 5}
	fmt.Println(*stu3)

}

上次修改於 2021-08-01

此篇文章的評論功能已經停用。