我为什么学习go语言 第一次听说golang应该是在2014年,从朋友那里听说。是Google开发的。但是作为一名比较笨的it民工来讲自学一门新语言花费时间和精力太大。也正是因为国内公司现在用的比较少,所以一直没有去了解…
分类:go教程
IO模型
一:IO简介Unix(like)中,一切皆文件。Socket、FIFO、管道、终端都是文件,一切都是流。在信息交换的过程中,实际都是对这些流进行的数据收发操作,简称I/O操作(系统调用read、write)。而流有很多,…
Go语言学习 初篇
最近闲来无事,学习了下go语言。 先后看了《The Way to Go》和《Go in Action》, 前者让我对Go语言有了基本的了解, 而后者作者的文风让我深深陷入了Go的学习之中。所以计划将来一段时间深入学习和使…
k8s与etcd--备份etcd数据到s3
前言 整个k8s诸多组件几乎都是无状态的,所有的数据保存在etcd里,可以说etcd是整个k8s集群的数据库。可想而知,etcd的重要性。因而做好etcd数据备份工作至关重要。这篇主要讲一下我司的相关的实践。 备份etc…
GoLang strings包函数用法
package main import ( "fmt" "strings" //"unicode/utf8" ) func main() { fmt.Println("查找子串是否在指定的字符串中") fmt.Print…
关于docker优雅退出的问题
容器信号使用 我们跑在容器中的程序通常想在容器退出之前做一些清理操作,比较常用的方式是监听一个信号,延迟关闭容器。 docker提供了这样的功能: ╰─➤ docker stop --help Usage: docker…
go局部变量的存储空间是堆还是栈?
go局部变量的存储空间是堆还是栈? 编译器会自动选择在栈上还是在堆上分配局部变量的存储空间,但可能令人惊讶的是,这个选择并不是由用var还是new声明变量的方式决定的。 var global *int func f() …
golang 几种字符串的连接方式
最近在做性能优化,有个函数里面的耗时特别长,看里面的操作大多是一些字符串拼接的操作,而字符串拼接在 golang 里面其实有很多种实现。 实现方法 1. 直接使用运算符 func BenchmarkAddStringWi…
gorose orm+dotweb框架快速构建go web网站实战(五)
控制器和模型 这里我们以去新闻列表为例, 做一个完整的控制器处理业务, 数据库模型获取数据 在控制器中创建 GetNewsById 获取一条新闻的方法 func GetNewsById(ctx dotweb.Contex…
Hyperledger Fabric 命令详解之“ generate ”
sudo ./byfn.sh -m generate a@ubuntu:~/hyfa/fabric-samples/first-network$ sudo ./byfn.sh -m generate Generating…
go - 使用 govendor 管理项目依赖
govendor 是 go 的一个比较好用包版本管理工具。主要用来保证 go 项目在协同开发或发版部署时,保证部署安装的依赖包版本对当前项目是稳定可用的。 为什么要使用包版本管理工具 java 的 maven,php 的…
GO 单例模式
单例模式是常用的模式之一,一般介绍的单例模式有 饿汉式 和 懒汉式 等,不管那种模式最终目的只有一个,就是只实例化一次,仅允许一个实例存在。 GO语言实现单例模式相对简单,这里考虑到并发,用到了sync.Mutex 和结…