-
Golang timer定时器
所属栏目:[大数据] 日期:2020-12-16 热度:177
timer 计时器 用于在指定的Duration类型时间后调用函数或计算表达式。 如果只是想指定时间之后执行,使用time.Sleep() 使用NewTimer(),可以返回的Timer类型在计时器到期之前,取消该计时器 直到使用-timer.C发送一个值,该计时器才会过期 定义计数器 timer := t[详细]
-
Go实战--golang获取Windows屏幕分辨率(golang如何调用dll)
所属栏目:[大数据] 日期:2020-12-16 热度:196
生命不止,继续go go go !!! 先看看博客访问量与房价的对比,以供诸位程序员寻找归宿作为参考: 言归正传。 通过wmic获取屏幕分辨率(只适用于win7,不适用于win10) 在WMIC出现之前,如果要管理WMI系统,必须使用一些专门的WMI应用,例如SMS,或者使用WMI的脚[详细]
-
老虞学GoLang笔记-数组和切片
所属栏目:[大数据] 日期:2020-12-16 热度:197
转自:http://www.cnblogs.com/howDo/archive/2013/04/25/GoLang-Array-Slice.html 数组 Arrays 数组是内置(build-in)类型,是一组同类型数据的集合,它是值类型,通过从0开始的下标索引访问元素值。在初始化后长度是固定的,无法修改其长度。当作为方法的入[详细]
-
Golang中的面向对象继承
所属栏目:[大数据] 日期:2020-12-16 热度:93
转自:http://hackthology.com/golangzhong-de-mian-xiang-dui-xiang-ji-cheng.html Golang的面向对象机制与Smalltalk或者Java等传统面向对象的编程语言不同。传统面向对象编程语言的一个重要特性是继承机制。因为继承机制支持在关联对象间进行代码复用和数[详细]
-
k8s与监控--从telegraf改造谈golang多协程精确控制
所属栏目:[大数据] 日期:2020-12-16 热度:100
从telegraf改造谈golang多协程精确控制 前言 telegraf是infuxdb公司开源出来的一个基于插件机制的收集metrics的项目。整个架构和elastic公司的日志收集系统极其类似,具备良好的扩展性。与现在流行的各种exporter+promethues监控方案相比: 大致具备良好的可[详细]
-
golang中如何判断文件是否有可执行权限
所属栏目:[大数据] 日期:2020-12-16 热度:68
本文介绍在Go语言如何检查文件的权限。以检查文件可执行权限为例。 在文件系统中,文件的属性使用uint32表示。 例如 -rwxrwxrwx 判断可执行权限,也就是检查文件mode是否有: –x–x–x 表示成十进制数就是73. 具体代码如下 package main import ( "log" "os"[详细]
-
golang 如何判断变量的类型
所属栏目:[大数据] 日期:2020-12-16 热度:162
本文介绍两种用于判断变量类型的方式。 方法一 package mainimport ( "fmt" )func main() { v1 := "123456" v2 := 12 fmt.Printf( "v1 type: %T n" ,v1) fmt.Printf( "v2 type: %T n" ,v2)} output: v1 type:string v2 type:int 方法二 package mainimport[详细]
-
goroutine 调度器(scheduler)
所属栏目:[大数据] 日期:2020-12-16 热度:58
虽然golang的最小调度单元为协程(goroutine),但是操作系统最小的调度单元依然还是线程,所以golang scheduler(golang调度器)其要做的工作是如何将众多的goroutine放在有限的线程上进行高效而公平的调度。 操作系统的调度不失为高效和公平,比如CFS调度[详细]
-
Go语言入门教程 - Hello World
所属栏目:[大数据] 日期:2020-12-16 热度:89
Go语言入门教程 - Hello World 这是Go语言入门教程的第二篇教程。在进入第二篇教程之前,请阅读第一部分简介和安装知晓如何安装golang。 没有更好的方法能比我们手把手的敲代码来学习程序语言来的快了。那么让我们赶紧去写我们的第一个程序吧。 我个人推荐使[详细]
-
golang RPC 应用(1) :net/rpc的应用
所属栏目:[大数据] 日期:2020-12-16 热度:60
RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RP[详细]
-
解决XORM的时区问题
所属栏目:[大数据] 日期:2020-12-16 热度:70
如果你升级使用了较为新版 xorm (如v0.6.3)和 go-sql-driver (如v1.3)的go类库,那么你就可能会遇到时区问题。 如 time.Parse("2006-01-02 15:04:05","2018-01-15 12:11:12") // 2018-01-15T12:11:12+00:00 写入是数据库时候就会被改变为 2018-01-15T20:11[详细]
-
基于golang从头开始构建基于docker的微服务实战笔记
所属栏目:[大数据] 日期:2020-12-16 热度:191
参考博文 part 1 利用gRPC protobuf定义服务 part 2 - Docker and go-micro Go-micro part 3 - docker-compose and datastores Part 4 - Authentication with JWT JWT User-service consignment-cli consignment-server Part 5 - Event brokering with Go Mi[详细]
-
2017 年度小结(Golang、错误处理、服务状态页等)
所属栏目:[大数据] 日期:2020-12-16 热度:156
从今年年初开始,我就尝试在业余时间和一个朋友开发一个容器平台,更多地是实验一些新的技术,也希望能够通过它将自己的一些小应用管理起来,在基本完成后可能会考虑开源。之所以说是实验是因为我选择了一个我几乎完全不了解的技术栈:主要编程语言是 Golang[详细]
-
视频笔记:理解 channels - Kavya Joshi
所属栏目:[大数据] 日期:2020-12-16 热度:137
一、视频信息 1、视频观看地址 https://www.youtube.com/watch?v=KBZlN0izeiY 2、PPT下载地址 http://download.csdn.net/download/xunzaosiyecao/10212884 3、博文 https://about.sourcegraph.com/go/understanding-channels-kavya-joshi/ 二、Go 的并发特性[详细]
-
golang byte和rune的区别
所属栏目:[大数据] 日期:2020-12-16 热度:161
我们知道golang中的string类型存储的字符串是不可变的, 如果要修改string内容需要将string转换为[]byte或[]rune,并且修改后的string内容是重新分配的。 那么byte和rune的区别是什么呢?其实很简单,直接看golang源码既可: 一个是uint8、一个是uint32。就[详细]
-
golang 定时器
所属栏目:[大数据] 日期:2020-12-16 热度:78
本文介绍使用Ticker实现的定时器用法。 package mainimport ( "fmt" "time" )func main() { d := time .Duration( time .Second *2 ) t := time .NewTicker(d) defer t.Stop() for { - t.C fmt.Println( "timeout..." ) }} 每隔2秒触发一次 output: timeout[详细]
-
golang中init函数
所属栏目:[大数据] 日期:2020-12-16 热度:78
init函数有一下几点特性: init函数在main执行之前,自动被调用执行的,不能显示调用 每个包的init函数在包被引用时,自动被调用 每个包可以有多个init函数 同一个文件中可定义多个init()函数 package main import ( "fmt" ) func init () { fmt .P rintln ([详细]
-
golang fmt用法举例
所属栏目:[大数据] 日期:2020-12-16 热度:199
下标与参数的对应 例子如下: package main import ( " fmt ") func main () { num : = 10 fmt. Printf( "num:%d,num:%[1]o,num:%[1]xn" ,num) } output: num:10,num:12,num:a 分别输出整数的10进制, 8进制, 16进制形式。 第二个,第三个输出,均使用第一[详细]
-
golang 自定义类型的排序
所属栏目:[大数据] 日期:2020-12-16 热度:148
sort包中提供了很多排序算法,对自定义类型进行排序时,只需要实现sort的Interface即可,包括: func Len() int {… } func Swap(i,j int) {… } func Less(i,j int) bool {… } 举例如下: package main import ( "fmt" "sort" ) type Person struct { Name[详细]
-
golang flag
所属栏目:[大数据] 日期:2020-12-16 热度:135
golang flag 1.命令行参数获取: 命令行获得可通过os.Args参数, Args在os中定义为: var Args []string 官方解释: Args hold the command-line arguments,starting with the program name. 2.命令行解析 golang 对命令行解析提供了flag包,按照功能可以分为以下[详细]
-
golang slice性能分析
所属栏目:[大数据] 日期:2020-12-16 热度:92
golang在gc这块的做得比较弱,频繁地申请和释放内存会消耗很多的资源。另外slice使用数组实现,有一个容量和长度的问题,当slice的容量用完再继续添加元素时需要扩容,而这个扩容会把申请新的空间,把老的内容复制到新的空间,这是一个非常耗时的操作。有两[详细]
-
golang开发目录结构
所属栏目:[大数据] 日期:2020-12-16 热度:151
在实际的项目中发现大家的目录结构都比较凌乱,基本每个人都有每个人的风格,一个项目在不断地变大,一些新的文件或目录又不断地被添加进来,从这里面去找到自己需要的信息的成本越来越高,一个统一的通用的目录结构非常有必要。 以下内容来自于github上的这[详细]
-
构建 golang 写的 supervisord ,并使用配置
所属栏目:[大数据] 日期:2020-12-16 热度:186
本文的原文连接是: http://blog.csdn.net/freewebsys/article/details/79129390 1,关于supervisord 是一个supervisord 是一个 golang 写的一个进程管理工具。 https://github.com/ochinchina/supervisord 项目地址github。 python 有一个supervisor,这个和[详细]
-
关于btc 的技术,Hyperledger Fabric 学习资料
所属栏目:[大数据] 日期:2020-12-16 热度:74
1,关于 Hyperledger Fabric Hyperledger Fabric 是一个开源区块链实现,开发环境建立在 VirtualBox 虚拟机上,部署环境可以自建网络,也可以直接部署在 BlueMix 上,部署方式可传统可 Docker 化,共识达成算法插件化,支持用 Go 和 JavaScript 开发智能合约[详细]
-
Golang 垃圾回收剖析
所属栏目:[大数据] 日期:2020-12-16 热度:116
转自:http://legendtkl.com/2017/04/28/golang-gc/ 1. Golang GC 发展 Golang 从第一个版本以来,GC 一直是大家诟病最多的。但是每一个版本的发布基本都伴随着 GC 的改进。下面列出一些比较重要的改动。 v1.1 STW v1.3 Mark STW,Sweep 并行 v1.5 三色标记法[详细]
