Go语言中文网 为您找到相关结果 31

GOLANG 基本数据类型 浮点型

浮点型 主要为了表示小数 也可细分float32和float64两种 float64提供比float32更高的精度 取值范围 类型 最大值 最小非负数 float32 3.402823466385288598117041834516925440e+38 1.401298464324817070923729583289916131280e-45 float64 1.797693134862315708145274237317043567981e+308 4.940656458412465441765687928682213723651e-324 运算结果不正确解决方式 原代码 package main inport "fmt" func main(){ var a,b,c float64 a=...阅读全文

博文 2016-08-30 16:00:00 zengyz

大会Day2认证考试+实践操作课程,高强度高密度学习!

之前给大家盘点了Zabbix大会Day1 的精彩内容:感谢:华为、招行、广州证券助力Zabbix大会,来为大家分享Zabbix在企业中的实践(点击查看详情)感谢:北上广深、武汉、青岛各地专家助力Zabbix大会,为用户详解4.0新功能、二次开发、可视化等(点击查看详情)作为Zabbix年度最大的活动,精彩可不止这些哦!▼▼▼一、 Zabbix4.0认证考试 一石二鸟,参加Zabbix年度最大的活动Zabbix大会+参加考试,成为Zabbix认证专家。本次是唯一一次不参加培训,可以直接考试获取认证的机会,有自信一次通过的Zabbixer们,快快报名吧!考试费用:原价2500/人(大会全票/VIP门票可享受8折优惠)考试时间:2018年11月24日 8:00!!!!考试时长:1小时 剩余名额:1...阅读全文

博文 2018-11-13 13:34:40 Zabbix中国

2017款大众朗境优惠报价团购促销售全国

  近日、上汽大众官网店庆十周年 ,举行大型团购促销活动,北京2017款大众朗境报价,北京2017款大众朗境优近日、北京2017款大众朗境优惠促销,北京2017款大众朗境http://crosslavida.svw-volkswagen.com颜色,北京2017款大众朗境降价,2017款大众朗境哪家最便宜,北京2017款大众朗境现车充足,无区域限制,全国联保.   D-大众-朗境http://m.svw-volkswagen.com/crosslavida/询价表格   系列 车型 指导价(万元) 现价 优惠价(万元) 现车状况   朗境 1.6L自动舒适版20   17款 14.89 电议 5万 现车现提   朗境 230TSIDSG舒适版2017款 15.8...阅读全文

GO-回调函数

1,什么是回调函数。一个函数中有个参数为函数的指针。该函数自己调用自己指针函数即可; 2,为什么要使用回调函数。抽象画了一个函数,简洁代码。异步执行 3,例子: // HuiDiaoFunc project main.go package main import ( "fmt" ) //函数 里面有个两个参数的回调函数 func print(call func(a int, b int) int) { fmt.Print(call(2, 1)) } func main() { //调用函数,回调函数里面的内容自己随便写 print(func(a int, b int) int { return a + b }) print(func(a int, b int) int { return a ...阅读全文

博文 2016-03-11 14:00:08 shuanger_

ByteEdu 每日新闻(2019-02-16)

ByteEdu 每日新闻(2019-02-16) Golang资料集Go最新资料汇总链接更改 http://www.byteedu.com/forum.php?mod=viewthread&tid=25 零基础怎么入门学习原画?正在自学的你知道多少 http://www.byteedu.com/portal.php?mod=view&aid=10 iPhone降价促成5G前夜昙花一现,翻身要看任正非脸色 http://www.byteedu.com/portal.php?mod=view&aid=23 电子竞技员入围人社部新职业 陪练代打也算正式职业了? http://www.byteedu.com/portal.php?mod=view&aid=9 go语言就业指南 http://www....阅读全文

博文 2019-02-16 10:34:44 Golang语言社区

单用标准库没法无损地保存一个带色板的PNG了么?

一时兴起尝试go编写一个图形转换的软件,然后发现了这么一个问题,就是Decode一个带RGBA色板的PNG,然后直接Encode,最后是得不到原来一样的图片的。 拼凑了个很简单的测试代码。 func main(){ f,_ := os.Open("sample.png") defer f.Close() img,_ := png.Decode(f) out,_ := os.Create("result.png") defer out.Close() png.Encode(out,img) } 图片就随便用游戏开发中常见的带透明通道的logo或人物头像。 转换的图片用普通图片浏览器看是没有问题的,但是需要对这张图片进行alpha渲染的话...阅读全文

Gevent中信号量的使用

  greenlet间同步方法:信号量   1.为什么引入信号量;   2.gevent信号量有哪些;   3.编程实现。   为何引入信号量   信号量是一个允许Greenlet相互合作,限制并发访问或运行的低层次的同步原语。   什么是信号量   1.信号量有两个方法   acquire和release。在信号量是否已经被 acquire或release,和拥有资源的数量之间不同,被称为此信号量的范围。如果一个信号量的范围已经降低到0,它会阻塞acquire操作直到另一个已经获得信号量的greenlet作出释放。   2.Gevent信号量   1)Semaphore(也被称为锁);   2)BoundedSemaphor...阅读全文

这位大牛讲了啥?让数百位 gopher 现场跪求PPT

4月28日,第五届 GopherChina 大会在北京圆满落幕了。会后,参会的 gopher第一时间在知乎以及朋友圈分享了对 GopherChina 2019大会的讲师、话题以及干货内容进行了评价。小编在整理参会 gopher 们对大会的评价时,发现很多 gopher 都提到来自微博研发平台架构中心资深架构师-晁岳攀老师分享的《Go 同步和并发设计模式》超级干货,从源码级别探究 Go 在并发层面的基础库实现,内容非常全面和丰富,有细节有深度。据悉,在今年的 GopherChina 大会上,晁岳攀老师的分享刚刚结束,大会现场群里就已经开始沸腾起来了,大家纷纷跪求晁老师主题分享的120页完整版PPT。大家想 get 到晁老师更多的技术实践干货,仅凭一个PPT怎么行呢?北京的小伙伴们有福了!Go中...阅读全文

博文 2019-05-14 14:20:16 Susan

ubuntu下安装golang

golang官方编译器安装与配置 因为golang是用部分功能语言编写的,所有首先应安装gcc, $ sudo apt-get install bison gawk gcc libc6-dev make 安装mercurial工具,用于提取golang的源代码 $ sudo apt-get install mercurial 提取golang的原代码 $hg clone -r release https://go.googlecode.com/hg/ go 编辑源代码 $ cd go/src $ ./all.bash 配置环境变量 $ gedit ~/.bashrc 在.bashrc环境变量中加入golang配置 export GOROOT=~/go export GOARCH=386 ex...阅读全文

博文 2014-10-04 19:27:09 陶诗德

Golang 图片处理(旋转/居中)

简单旋转分为顺时针旋转90度,顺时针旋转180度,顺时针旋转270度。说到底其实就是矩阵旋转,将各个像素点的色值重新赋值 // 旋转90度 func rotate90(m image.Image) image.Image { rotate90 := image.NewRGBA(image.Rect(0, 0, m.Bounds().Dy(), m.Bounds().Dx())) // 矩阵旋转 for x := m.Bounds().Min.Y; x < m.Bounds().Max.Y; x++ { for y := m.Bounds().Max.X - 1; y >= m.Bounds().Min.X; y-- { // 设置像素点 rotate90.Set(m.Bounds().Max...阅读全文

博文 2019-12-28 21:32:42 韬大帅

对一段Go语言代码输出结果的简要分析

年后事情实在是多,各种被催进度,于是好长一段时间未更博客了,自责中….。今天蹦出来热热身^0^! 中午在微博私信中看到一封来自某Gopher的咨询,他贴了一段代码,并表示对代码的输出结果的不解,希望我能帮他分析一下。他的代码如下: //testslicerange.go package main import ( "fmt" "time" ) type field struct { name string } func (p *field) print() { fmt.Println(p.name) } func main() { data1 := []*field{{"one"}, {"two"}, {"three"}} for _, v := range data1 { go v.pri...阅读全文

博文 2018-03-23 14:54:02 bigwhite

关于Go 和Erlang的一些想法

关于Go 和Erlang的一些想法 原文链接:http://blog.erlware.org/some-thoughts-on-go-and-erlang/ 以下为本人翻译,仅用于交流学习,版权归原作者所有,转载请注明出处,请不要用于商业用途。 更新: 我发现我这篇文章没有把观点说明白。我并不是说Go不行或者应该改进,因为它跟Erlang是不一样的。我想说的是在可用性和低延迟不可缺少的高并发后端领域来说,Go仍然不能替代Erlang。 需要注意的是,我写这篇文章并不是要关于某一种语言比如Julia。我听说不仅仅在新项目里,还有在一些老项目要替换新语言里,Go慢慢成了Erlang的替代者。没有人说Julia也是这样,但是Go和Node.js却被一些人看作是Erlang的友好的替代者。Erlan...阅读全文

博文 2015-04-27 15:00:30 wang8118

销售计划思维导图讲解,绘制软件怎么用

思维导图在商业中的应用十分的广泛,它可以帮助我们发散思维、分析事件 、解决问题。对于市场主管来说,主要可以用来策划营销计划、计划公关活动、策划公司市场活动、管理销售工作等。 本文便来说一说,市场主管如何巧妙运用思维导图来进行营销策划。 市场主管如何巧妙用思维导图进行营销策划营销方案是以销售为目的的计划,指在销售和服务之前对预期目标进行的整体性策划。一般营销方案要对三个方面进行分析,即基本问题、项目市场优劣势和解决问题的方案。思维导图可以用来对产品进行SWOT分析、对整个环境进行PEST分析等。对自己的项目在市场上的情况有一个全面的了解,然后针对性的做出方案。 好的营销方案是需要有创新的,对整体情况有了掌握之后。利用思维导图软件,如MindMaster的头脑风暴功能,可以收集团队的各种创意。 ...阅读全文

绘制与可视化数据的存储库 plot

plot 是绘制与可视化数据的存储库,它提供了一个API,用于在Go中建立和绘制plot。 gonum/plot  被分成几个开发包: * plot包提供简单的界面布局的接口,并绘制它提供了原函数。 * 绘图仪 包提供了一组标准的绘图仪,它使用由plot提供的原函数绘制线, 散点图 ,箱线图,误差线等。 * 你不需要通过使用绘图仪包来利用gonum/plot, 自定义 绘图仪的教程,可在维基中查看。 * plotutil 包含一些套路,是一些常见的plot操作起来很便捷。但因为是新开发包,尚未进行测试。 * VG包提供了的一个通用的矢量图形API,其在 其它矢量图形后端上面, 如自定义EP...阅读全文

Scala 和 Go 语言的 TCP 基准测试

最近我们需要一些带有些特殊特征的负载平衡器。现成可取并不是我们想要的获取此类特征的途径。 因此我们着手调研怎样才能写出我们自己的软件负载平衡器。由于我们的大部分代码库和专业知识都基于Scala,所以基于java虚拟机来创建此平衡器是个自然之选。 另一方面,很多人,也包括在 Fortytwo的我们自己——经常但不总是——会做一些毫无根据的假设,即JAVA虚拟机比本地编译语言要慢。 由于负载平衡器常是性能极其关键的组件,因此可能一个其他的编程语言/环境会比较好些? 我们不是很乐意走入奇特的世界写C/C++,所以我们开始找寻一种折中的方法,既可以给我们带来传说中的本地代码的性能优势,同时也具有一些高级的特性,如垃圾回收以及内置的并发原语。一个立即浮现出来的这样的语言是Google的相对较新的Go语...阅读全文

博文 2014-10-10 12:00:01 zajin

Casbin 实现访问控制

简介 Casbin可以做到: 支持自定义请求的格式,默认的请求格式为{subject, object, action}。 具有访问控制模型model和策略policy两个核心概念。 支持RBAC中的多层角色继承,不止主体可以有角色,资源也可以具有角色。 支持超级用户,如 root 或 Administrator,超级用户可以不受授权策略的约束访问任意资源。 支持多种内置的操作符,如 keyMatch,方便对路径式的资源进行管理,如 /foo/bar 可以映射到 /foo* Casbin不能做到: 身份认证 authentication(即验证用户的用户名、密码),casbin只负责访问控制。应该有其他专门的组件负责身份认证,然后由casbin进行访问控制,二者是相互配合的关系。 管理用户列表...阅读全文

博文 2019-12-21 14:32:41 雨澍生

Scala 和 Go 语言的 TCP 基准测试

最近我们需要一些带有些特殊特征的负载平衡器。现成可取并不是我们想要的获取此类特征的途径。 因此我们着手调研怎样才能写出我们自己的软件负载平衡器。由于我们的大部分代码库和专业知识都基于Scala,所以基于java虚拟机来创建此平衡器是个自然之选。 另一方面,很多人,也包括在 Fortytwo的我们自己——经常但不总是——会做一些毫无根据的假设,即JAVA虚拟机比本地编译语言要慢。 由于负载平衡器常是性能极其关键的组件,因此可能一个其他的编程语言/环境会比较好些? 我们不是很乐意走入奇特的世界写C/C++,所以我们开始找寻一种折中的方法,既可以给我们带来传说中的本地代码的性能优势,同时也具有一些高级的特性,如垃圾回收以及内置的并发原语。一个立即浮现出来的这样的语言是Google的相对较新的Go语...阅读全文

博文 2014-10-10 11:00:02 zajin

Gopher 2019 Go并发编程的分享

目录 [−] 内容划分基本同步原语MutexRWMutexCondWaitgroupOnceA XXX must not be copied after first use.PoolMap扩展同步原语ReentrantLockSemaphoreSingleFlightErrGroupSpinLockfslockconcurrent-map原子操作操作的数据操作方法SubtractValueChannelGo内存模型单个goroutine内包级别的init函数go语句channelMutex/RWMutexWaitgroupOnceAtomic 昨天参加了 Gopher China 2019 大会,分享了《Go并发编程实践》的主题,在这一篇博客中总结一下。 从春节前开始我就有意识的收集和整理G...阅读全文

博文 2019-04-28 19:55:16 smallnest

golang 并发原语[草稿]

总结一下昨天 鸟窝 在《Go 同步和并发设计模式》 分享的 golang 并发开发相关的知识。主要分为四个部分,同步原语,分布式同步原语,channel,内存模型。这里主要从初学者角度,以鸟窝的ppt为大纲,来梳理一下常用的功能,用法和代码实现。 前沿背景 这里贴出一篇关于golang流行开源项目涉及到并发bug的论文 image.png 上图可以看到,golang主流的开源项目用到的并发原语的比例。主要集中在Mutex和channel,所以这应该是我们学习的重点部分。 同步原语 Mutex 结构定义 // A Mutex must not be copied after first use. type Mutex struct { state int32 sema uint32 } 注释可...阅读全文

博文 2019-05-27 18:34:40 咔叽咔叽_

Golang解LeetCode 1021. 删除最外层的括号

Golang解LeetCode 1021. 删除最外层的括号 题目描述 有效括号字符串为空 ("")、"(" + A + ")" 或 A + B,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的连接。例如,"","()","(())()" 和 "(()(()))" 都是有效的括号字符串。 如果有效字符串 S 非空,且不存在将其拆分为 S = A+B 的方法,我们称其为原语(primitive),其中 A 和 B 都是非空有效括号字符串。 给出一个非空有效字符串 S,考虑将其进行原语化分解,使得:S = P_1 + P_2 + ... + P_k,其中 P_i 是有效括号字符串原语。 对 S 进行原语化分解,删除分解中每个原语字符串的最外层括号,返回 S 。 来源:力扣(LeetCod...阅读全文

博文 2019-12-10 01:32:41 肥肥的大肥鹅

GO语言学习 指针&内存

GO有指针。指针的操作与C相同,但没有指针的运算。 GO有两个内存分配原语,new和Make new:new(T)是分配T类型的内存空间,以零值填充,并返回其内存地址。假设有一个F类型的结构体,表达式new(F)和&F{}是等价的。 make:make(T, args)只能创建slice,map,channel,并返回一个非零初始值的T类型...阅读全文

Golang 函数执行时间统计装饰器的一个实现

背景 最近在搭一个新项目的架子,在生产环境中,为了能实时的监控程序的运行状态,少不了逻辑执行时间长度的统计。时间统计这个功能实现的期望有下面几点: 实现细节要剥离:时间统计实现的细节不期望在显式的写在主逻辑中。因为主逻辑中的其他逻辑和时间统计的抽象层次不在同一个层级 用于时间统计的代码可复用 统计出来的时间结果是可被处理的。 对并发编程友好 实现思路 统计细节的剥离 最朴素的时间统计的实现,可能是下面这个样子: func f() { startTime := time.Now() logicStepOne() logicStepTwo() endTime := time.Now() timeDiff := timeDiff(startTime, endTime) log.Info("time...阅读全文

博文 2019-03-18 00:34:39 coordinate35

Go-同步原语与锁(一)互斥锁与读写锁

本文将讲解一下Go语言中的同步原语与锁。会阐述几种常见的锁,剖析其流程,然后针对每种同步原语举几个例子。由于文章比较长,为方便阅读,将这部分拆解为两部分。本文是第一部分 互斥锁与读写锁。 环境: go version go1.8.7 darwin/amd64 1 mutex 1.1 结构 先看下mutex在底层的结构: 代码位置sync/mutex.go type Mutex struct { state int32 // 状态 sema uint32 // 信号 } 在mutex中 主要有mutexLocked , mutexWorken 两种状态,mutexWaiterShift 是统计了等待mutex的routine 数量。 1.2 流程 参考文献中讲到Go1.9 针对互斥锁增加了饥饿...阅读全文

博文 2019-09-26 00:32:47 aside section ._1OhGeD

map复制 "encoding/json"

```go package main import ( "encoding/json" "fmt" ) var h map[string]string func init() { h = map[string]string{ "a": "aa", "b": "bb", } } func main() { // 复制map不影响原map bs, _ := json.Marshal(h) var h2 map[string]string err := json.Unmarshal(bs, &h2) if err != nil { fmt.Println("error: ", err.Error()) } h2["c"] = "cc" if _, ok := h["c"]; !ok { fmt.P...阅读全文

博文 2018-01-19 13:51:23 hfyarvin

Go语言sync包的应用详解

在并发编程中同步原语也就是我们通常说的锁的主要作用是保证多个线程或者 goroutine在访问同一片内存时不会出现混乱的问题。Go语言的sync包提供了常见的并发编程同步原语,上一期转载的文章《Golang 并发编程之同步原语》中也详述了 Mutex、RWMutex、WaitGroup、Once 和 Cond 这些同步原语的实现原理。今天的文章里让我们回到应用层,聚焦sync包里这些同步原语的应用场景,同时也会介绍sync包中的Pool和Map的应用场景和使用方法。话不多说,让我们开始吧。 sync.Mutex sync.Mutex可能是sync包中使用最广泛的原语。它允许在共享资源上互斥访问(不能同时访问): mutex := &sync.Mutex{} mutex.Lock() // U...阅读全文

博文 2020-05-05 11:32:43 Kevin

你也可以算出圆周率的 - 随机落点算法 - 致即将到来的圆周率日

一年一度的圆周率日就要到了,是的,就是3月14日,因为它与圆周率π的前几位3.14的数字一样。我们知道,传说中祖冲之计算圆周率用的是“割圆术”的改进方法,可惜我们大多数现代人的脑子已经无法理解这种方法了。使用其他的复杂公式也有,但人的脑子更不容易理解,但有一个异想天开的方法你知道吗?任何人可以简单地去计算出Pi呢(下面我们都用Pi来代替圆周率π吧,好写好认,:p)。这个方法源自概率论的基础,叫做蒙特卡洛法,形象一点的话我们也可以把它称为随机落点法,我们先说说它的原理:我们先看看下面这张图 假设有图中的一个正方形和一个刚好套在它中间的圆形,可以很直观地看出:圆形的半径如果是R的话,正方形的边长就是2R。圆形的面积根据公式是Pi乘以R的平方,也就是 Pi × R × R = PiR²正方形的面积...阅读全文

博文 2020-03-13 01:32:51 陆满庭

Go-同步原语与锁(二)WaitGroup、Once与Cond

本文将讲解一下Go语言中的同步原语与锁。会阐述几种常见的锁,剖析其流程,然后针对每种同步原语举几个例子。由于文章比较长,为方便阅读,将这部分拆解为两部分。本文是第二部分 WaitGroup、Once与Cond。 环境: go version go1.8.7 darwin/amd64 1 WaitGroup 1.1 结构 type WaitGroup struct { noCopy noCopy // 64-bit value: high 32 bits are counter, low 32 bits are waiter count. // 64-bit atomic operations require 64-bit alignment, but 32-bit // compilers ...阅读全文

博文 2019-09-26 01:32:42 aside section ._1OhGeD

Golang 并发编程与同步原语

浅谈 Go 语言实现原理原文链接:https://draveness.me/golang/c... 当提到并发编程、多线程编程时,我们往往都离不开『锁』这一概念,Go 语言作为一个原生支持用户态进程 Goroutine 的语言,也一定会为开发者提供这一功能,锁的主要作用就是保证多个线程或者 Goroutine 在访问同一片内存时不会出现混乱的问题,锁其实是一种并发编程中的同步原语(Synchronization Primitives)。 在这一节中我们就会介绍 Go 语言中常见的同步原语 Mutex、RWMutex、WaitGroup、Once 和 Cond 以及扩展原语 ErrGroup、Semaphore和 SingleFlight 的实现原理,同时也会涉及互斥锁、信号量等并发编程中的常...阅读全文

博文 2019-07-04 10:32:44 draveness

Go语言sync包的应用详解

在并发编程中同步原语也就是我们通常说的锁的主要作用是保证多个线程或者 goroutine在访问同一片内存时不会出现混乱的问题。Go语言的sync包提供了常见的并发编程同步原语,上一期转载的文章《Golang 并发编程之同步原语》中也详述了 Mutex、RWMutex、WaitGroup、Once 和 Cond 这些同步原语的实现原理。今天的文章里让我们回到应用层,聚焦sync包里这些同步原语的应用场景,同时也会介绍sync包中的Pool和Map的应用场景和使用方法。话不多说,让我们开始吧。 sync.Mutex sync.Mutex可能是sync包中使用最广泛的原语。它允许在共享资源上互斥访问(不能同时访问): mutex := &sync.Mutex{} mutex.Lock() // U...阅读全文

博文 2020-05-05 23:34:25 kevinyan

leetcode_56

Golang: 思路:试想,如果给我们的是按照intervals[i][0]大小顺序排列好的数组,那么我们在做数组合并的时候是否会简单一些呢?答案是肯定的,而且需要注意的是,题意中给的测试用例是按照我上文提及的顺序排列好的,但题目里并没有给出数组是排列好的这一句话。所以,要首先对数组做按照intervals[i][0]大小顺序排列的操作。然后,是如何对数组进行合并及存储呢?不难看出,我们只需要对intervals[i][1]和intervals[i+1][0]进行比较,至于怎么个比较法,各位可以找张纸画一画即可,另外,代码里也有,这里就不给出详细说明了。 附上程序效果截图 效率一览 type ints [][]int func (s ints) Len() int { return len(...阅读全文

博文 2020-01-27 22:32:44 淳属虚构