go语言单例模式(Singleton)实例分析
本文实例讲述了go语言单例模式(Singleton)用法。分享给大家供大家参考。具体分析如下:
单例模式(Singleton):表示一个类只会生成唯一的一个对象。单例模式具有如下性质:
A.这些类只能有一个实例;
B.这些能够自动实例化;
C.这个类对整个系统可见,即必须向整个系统提供这个实例。
package singleton
import "fmt"
var _instance *object
type object struct {
name string
}
func Instance() *object {
if _instance == nil {
_instance = new(object)
}
return _instance
}
func (p *object) Setname(name string) {
p.name = name
}
func (p *object) Say() {
fmt.Println(p.name)
}
希望本文所述对大家的Go语言程序设计有所帮助。
相关推荐
-
GO语言求100以内的素数
本文实例讲述了GO语言筛选法求100以内的素数.分享给大家供大家参考.具体实现方法如下: 思路:找出一个非素数就把它挖掉,最后剩下就是素数. 下面就来欣赏一下go简洁的代码吧 目前不支持GO的代码插入,使用xml的代替一下. 复制代码 代码如下: package main import ( "fmt" "math" ) func main() { var i, j, n int var a [101]int for i = 1
-
go语言实现sqrt的方法
本文实例讲述了go语言实现sqrt的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package mymath import "math" func InvSqrt(x float32) float32 { var xhalf float32 = 0.5*x // get bits for floating VALUE i := math.Float32bits(x) // gives initial guess y0 i = 0x5f3
-
Go语言图片处理和生成缩略图的方法
本文实例讲述了Go语言图片处理和生成缩略图的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "os" "image" "image/color" "image/draw" "image/jpeg" ) func main() { f1, err := os
-
go语言通过zlib压缩数据的方法
本文实例讲述了go语言通过zlib压缩数据的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "fmt" "compress/zlib" "bytes" ) func main() { var input = []byte("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKsAAAAgCAYAA
-
go语言中range用法
本文实例讲述了go语言中range用法.分享给大家供大家参考.具体分析如下: range是go语言系统定义的一个函数. 函数的含义是在一个数组中遍历每一个值,返回该值的下标值和此处的实际值. 假如说a[0]=10,则遍历到a[0]的时候返回值为0,10两个值. 下面是一个例子:这个例子是求一个数组里面的平均值. 复制代码 代码如下: package main import ( "fmt" ) func main() { sum := 0.0 var avg fl
-
go语言base64加密解密的方法
本文实例讲述了go语言base64加密解密的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "encoding/base64" "fmt" ) const ( base64Table = "123QRSTUabcdVWXYZHijKLAWDCABDstEFGuvwxyzGHIJklmnopqr234560178912" ) var coder = base6
-
Go语言生成素数的方法
本文实例讲述了Go语言生成素数的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main // 生成2, 3, 4, ... 到 channel 'ch'中. func Generate(ch chan<- int) { for i := 2; ; i++ { ch <- i // Send 'i' to channel 'ch'. } } // 从管道复制值 'in' 到 channel 'out', // 移除可整除的
-
GO语言实现简单TCP服务的方法
本文实例讲述了GO语言实现简单TCP服务的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: package main import ( "net" "fmt" ) var ( maxRead = 1100 msgStop = []byte("cmdStop") msgStart = []byte("cmdContinue") ) func main() { ho
-
Go语言生成随机数的方法
本文实例讲述了Go语言生成随机数的方法.分享给大家供大家参考.具体实现方法如下: golang生成随机数可以使用math/rand包 复制代码 代码如下: package main import ( "fmt" "math/rand" ) func main() { for i:=0; i<10; i++ { fmt.Println(rand.Intn(100)) } } 发现这种情况
-
go语言异常panic和恢复recover用法实例
本文实例讲述了go语言异常panic和恢复recover用法.分享给大家供大家参考.具体分析如下: go中可以抛出一个panic的异常,然后在defer中通过recover捕获这个异常,然后正常处理 在一个主进程,多个go程处理逻辑的结构中,这个很重要,如果不用recover捕获panic异常,会导致整个进程出错中断 复制代码 代码如下: package main import "fmt" func main() { defer func() { //必须要先声明defer,否
随机推荐
- 跨服务器查询导入数据的sql语句
- 最简单的js图片切换效果实现代码
- Win2008 R2 WEB 服务器安全设置指南之文件夹权限设置技巧
- 备份硬盘主引导分区到一个文件中
- asp.net导出Excel乱码的原因及解决方法
- Android登陆界面用户名检测功能
- php抓取https的内容的代码
- 使用cluster 将自己的Node服务器扩展为多线程服务器
- JavaScript编写带旋转+线条干扰的验证码脚本实例
- [整理版]ASP常用内置函数
- php实现的遍历文件夹下所有文件,编辑删除
- ActiveMQ基于zookeeper的主从(levelDB Master/Slave)搭建
- SSH结合jquery实现三级联动效果
- 简单介绍Python的Django框架的dj-scaffold项目
- C# 游戏外挂实现核心代码
- 详解PHP实现定时任务的五种方法
- Android实现可使用自定义透明Dialog样式的Activity完整实例
- 代码实例分析android中inline hook
- CentOS服务器初始化设置详细说明
- windows下FTP匿名登录或弱口令漏洞及服务加固