最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解用Go語言實(shí)現(xiàn)工廠模式(Golang經(jīng)典編程案例)

 更新時(shí)間:2021年04月17日 10:17:27   作者:cui_yonghua  
這篇文章主要介紹了詳解用Go語言實(shí)現(xiàn)工廠模式(Golang經(jīng)典編程案例),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

golang中的struct沒有構(gòu)造函數(shù),一般可以使用工廠模式來解決這個(gè)問題。這個(gè)模式本身很簡單而且使用在業(yè)務(wù)較簡單的情況下。一般用于小項(xiàng)目或者具體產(chǎn)品很少擴(kuò)展的情況(這樣工廠類才不用經(jīng)常更改)。

代碼結(jié)構(gòu)如下:分別有main.go和student.go兩個(gè)文件。

在這里插入圖片描述

在student.go中:

package model

//定義一個(gè)結(jié)構(gòu)體
type student struct{
	Name string
	score float64
}

//因?yàn)閟tudent結(jié)構(gòu)體首字母是小寫,因此是只能在model使用
//我們通過工廠模式來解決r
func NewStudent(n string, s float64) *student {
	return &student{
		Name : n,
		score : s,
	}
}

//如果score字段首字母小寫,則,在其它包不可以直接方法,我們可以提供一個(gè)方法
func (s *student) GetScore() float64{
	return s.score //ok
}

在main.go中:

package main

import (
	"fmt"
	"factory/model"
)

func main() {
	//創(chuàng)建要給Student實(shí)例
	// var stu = model.Student{
	// 	Name :"tom",
	// 	Score : 78.9,
	// }

	//定student結(jié)構(gòu)體是首字母小寫,我們可以通過工廠模式來解決
	var stu = model.NewStudent("tom~", 98.8)

	fmt.Println(*stu) //&{....}
	fmt.Println("name=", stu.Name, " score=", stu.GetScore())
}

執(zhí)行結(jié)果如下圖所示:

在這里插入圖片描述

到此這篇關(guān)于詳解用Go語言實(shí)現(xiàn)工廠模式(Golang經(jīng)典編程案例)的文章就介紹到這了,更多相關(guān)Go語言工廠模式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入了解Golang網(wǎng)絡(luò)編程N(yùn)et包的使用

    深入了解Golang網(wǎng)絡(luò)編程N(yùn)et包的使用

    net包主要是增加?context?控制,封裝了一些不同的連接類型以及DNS?查找等等,同時(shí)在有需要的地方引入?goroutine?提高處理效率。本文主要和大家分享下在Go中網(wǎng)絡(luò)編程的實(shí)現(xiàn),需要的可以參考一下
    2022-07-07
  • go語言中使用timer的常用方式

    go語言中使用timer的常用方式

    這篇文章主要介紹了go語言中使用timer的常用方式,實(shí)例分析了三種常用的使用timer的方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-03-03
  • Golang在整潔架構(gòu)基礎(chǔ)上實(shí)現(xiàn)事務(wù)操作

    Golang在整潔架構(gòu)基礎(chǔ)上實(shí)現(xiàn)事務(wù)操作

    這篇文章在 go-kratos 官方的 layout 項(xiàng)目的整潔架構(gòu)基礎(chǔ)上,實(shí)現(xiàn)優(yōu)雅的數(shù)據(jù)庫事務(wù)操作,需要的朋友可以參考下
    2024-08-08
  • 在Go程序中實(shí)現(xiàn)服務(wù)器重啟的方法

    在Go程序中實(shí)現(xiàn)服務(wù)器重啟的方法

    這篇文章主要介紹了在Go程序中實(shí)現(xiàn)服務(wù)器重啟的方法,由于很多人盲目崇拜谷歌"親爹",Go語言在國內(nèi)有著不尋常的人氣,需要的朋友可以參考下
    2015-06-06
  • 簡單了解Go語言中函數(shù)作為值以及函數(shù)閉包的使用

    簡單了解Go語言中函數(shù)作為值以及函數(shù)閉包的使用

    這篇文章主要介紹了簡單了解Go語言中函數(shù)作為值以及函數(shù)閉包的使用,是golang入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-10-10
  • 一文了解Go 并發(fā)與并行

    一文了解Go 并發(fā)與并行

    并發(fā)性和并行性是是兩個(gè)既有聯(lián)系又有所區(qū)別的概念,本文主要介紹了Go并發(fā)與并行,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • Golang實(shí)現(xiàn)http server提供壓縮文件下載功能

    Golang實(shí)現(xiàn)http server提供壓縮文件下載功能

    這篇文章主要介紹了Golang實(shí)現(xiàn)http server提供壓縮文件下載功能,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • go語言的工作空間和GOPATH環(huán)境變量介紹

    go語言的工作空間和GOPATH環(huán)境變量介紹

    這篇文章主要介紹了go語言的工作空間和GOPATH環(huán)境變量介紹,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • GO語言獲取系統(tǒng)環(huán)境變量的方法

    GO語言獲取系統(tǒng)環(huán)境變量的方法

    這篇文章主要介紹了GO語言獲取系統(tǒng)環(huán)境變量的方法,實(shí)例分析了Getenv方法操作環(huán)境變量的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-02-02
  • Golang實(shí)現(xiàn)IO操作

    Golang實(shí)現(xiàn)IO操作

    本文主要介紹了Golang實(shí)現(xiàn)IO操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05

最新評論

宜昌市| 台湾省| 稷山县| 荆州市| 和静县| 凤凰县| 通化市| 循化| 宜章县| 额尔古纳市| 临猗县| 太康县| 扶余县| 马鞍山市| 犍为县| 蒙自县| 金山区| 香格里拉县| 保山市| 海兴县| 定陶县| 安西县| 乌兰察布市| 鄄城县| 湘阴县| 长武县| 正定县| 湖北省| 南充市| 凤凰县| 扶沟县| 乳山市| 上蔡县| 无锡市| 西华县| 弋阳县| 无为县| 郯城县| 静乐县| 炉霍县| 高州市|