`

go singleton

    博客分类:
  • go
 
阅读更多
package main

import "fmt"

type person struct {
	Name   string
	age    int32
	Height int32
}

func getPerson() *person {
	return &person{
		Name:   "zhangesan",
		age:    18,
		Height: 170,
	}
}

func (p1 *person) getAge() int32 {
	return p1.age
}

//每个源码可以使用 1 个 init() 函数。
//init() 函数会在程序执行前(main() 函数执行前)被自动调用。
//init() 函数不能被其他函数调用。
func init() {
	fmt.Println("init")
}

func main() {
	p := getPerson()
	fmt.Println(p.Name, p.getAge(), p.Height)
}


zhangesan 18 170
分享到:
评论

相关推荐

    通过go语言实现单例模式(Singleton Pattern).rar

    在Go语言中,实现单例模式(Singleton Pattern)通常涉及确保一个类只有一个实例,并提供一个全局访问点来获取该实例。由于Go语言没有传统的类和对象概念,但具有结构体(struct)和函数,我们可以通过使用包级变量...

    go语言单例模式(Singleton)实例分析

    本文实例讲述了go语言单例模式(Singleton)用法。分享给大家供大家参考。具体分析如下: 单例模式(Singleton):表示一个类只会生成唯一的一个对象。单例模式具有如下性质: A.这些类只能有一个实例; B.这些能够...

    Go Design Patterns(pdf+epub+mobi+code_files)

    《Go设计模式》是一本深入探讨Go语言编程中设计模式应用的专业书籍,包含了pdf、epub、mobi等多种格式的电子版以及相关的代码文件。这本书旨在帮助开发者更好地理解和运用Go语言,通过学习经典的设计模式来提升代码...

    Go-go-di:一个实现依赖注入的Go库

    Go-di 是一个专门为 Go 语言设计的依赖注入库,它简化了在 Go 应用程序中管理对象及其依赖关系的过程。依赖注入(Dependency Injection,简称 DI)是一种软件设计模式,它有助于提高代码的可测试性、可维护性和可...

    第三节 单例模式1

    在Golang中,实现单例模式有多种方法。下面我们将详细探讨几种常见的实现方式: 1. **懒汉模式**: 懒汉模式是在真正需要使用单例时才去创建它。如上文代码所示,这种模式在多线程环境下存在线程安全问题,因为当...

    goView源码goView源码

    同时,`goView`可能利用Singleton Slot进行插槽优化,确保插槽内容只渲染一次,无论父组件提供了多少次。 7. **优化与性能** Vue3在性能上做了很多改进,如更好的初始渲染性能、更快的更新周期等。`goView`的源码中...

    QT单例模式 小李子,博文有介绍

    在需要使用单例的地方,可以直接调用`Singleton::instance()`(如果使用Q_GLOBAL_STATIC,则是`singletonInstance()`)来获取实例。例如: ```cpp void someFunction() { Singleton* mySingleton = Singleton::...

    Aryzath:Aryzath只是一个龙的名字,但是这个回购全是关于使用我最喜欢的语言Google的Go语言(Golang)实现的DESIGN PATERNS

    在这个名为"Aryzath"的项目中,作者专注于使用Google的Go语言(Golang)来实现设计模式。这个项目涵盖了三种主要的设计模式类别:创建型模式、结构型模式和行为型模式。 1. 创建型模式:这类模式主要关注对象的创建...

    pattern-guidance, Design pattern guide (PHP、Golang implementation).zip

    Go语言强调并发编程和面向接口编程,因此在实现设计模式时,会更多地利用goroutines和channels。例如,在Golang中实现观察者模式,我们可以定义一个事件接口,然后让订阅者实现该接口,通过channels来传递事件。同时...

    有用模式的集合-Golang开发

    要求golang> = 1.11.x-Go编程语言安装程序go get github.com/donutloop/toolkit/{any_package}示例go get github.com/donutloop/toolkit/worker模式Worker作业时间表Singleton重试Promise Multierror循环租赁事件-...

    开源项目-kshitij10496-gftd.zip

    开源项目-kshitij10496-gftd是一个基于Go语言开发的命令行工具,专为跟踪个人的每日目标而设计。这个项目的核心理念是帮助用户高效地管理时间,通过简洁的命令行界面,方便地创建、查看和更新他们的日常任务。下面将...

    golang-concurrency-patterns:Go 并发模式

    在编程领域,Go 语言以其强大的并发特性而备受赞誉,这主要归功于其轻量级线程(goroutines)和通道(channels)的设计。"Go 并发模式"是 Rob Pike 在 2012 年提出的一系列用于高效利用多核处理器并管理并发执行的...

    go-patterns.pdf

    Go语言设计模式涵盖了在面向对象编程中遇到的典型问题的解决方案。这些模式大致可以分为三大类:创建型模式、结构型模式和行为型模式。 创建型模式关注于对象的创建机制,旨在提升代码的灵活性和可复用性。在Go中,...

    go-patterns:基于重构大师的My Golang设计模式实现

    《Go-patterns:基于重构大师的My Golang设计模式实现》是针对Go语言的一个项目,旨在将经典的软件设计模式应用到Golang编程中。这个项目是受到《设计模式:可复用面向对象软件的基础》一书的启发,该书由Erich ...

    design-patterns:golang的设计模式

    Go语言,作为一门现代化的系统级编程语言,同样支持并鼓励使用设计模式。本文将深入探讨Go语言中的几种关键设计模式,帮助开发者更好地理解和应用这些模式。 1. **单例模式**:单例模式确保一个类只有一个实例,并...

    design-patterns-go:Go中的一些设计模式

    Go语言,以其简洁、并发友好和强大的工具链,成为了现代软件开发的重要选择。"design-patterns-go"项目是将经典设计模式应用到Go语言中的实践,帮助开发者更好地理解和利用这些模式。 首先,我们来看一些主要的设计...

    golang不到30行代码实现依赖注入的方法

    在Java中,Spring框架是一个典型的依赖注入容器,而在Golang中,由于语言特性,我们需要手动创建对象后再注入。 首先,我们创建一个`Container`结构体,它包含两个映射:`singletons`用于存储单例对象,`factories`...

    设计模式实现(Java、C++、Golang)-DesignPattern.zip

    本资料包“DesignPattern.zip”包含了Java、C++和Golang三种编程语言的设计模式实现,这对于想要深入理解这些语言的开发者来说是非常宝贵的资源。 1. **设计模式分类**: 设计模式通常分为三类:创建型、结构型和...

Global site tag (gtag.js) - Google Analytics