docker linux namespace系统资源隔离 发布时间: 2019-09-12 05:18:55 评论数: 0
linux namespace是Kernel的功能,它会隔离系统的资源,如PID,UTS,IPC,UserID,Network,docker也用到了这部分的内容,下面是go代码只要实现了这功能 package main import ( "log" "os" "os/exec" "syscall" ) func main() { cmd := exec.Command("sh") cmd.SysProcAttr = &syscall.SysProcAtt ......
排序算法入门 — GO 语言实现 发布时间: 2019-09-10 10:57:12 评论数: 0
排序算法是一种采用列表或数组并以特定顺序对其元素进行重新排序的算法。有几十种不同的排序算法,如果你已经学习了计算机科学,那么你至少熟悉了其中的一些算法。 它们也是很受欢迎的面试问题,所以在重要面试前不要因为它而伤心。这是一个大多数常见的排序算法的小型引擎,实例采用 Golang 实现。冒泡排序冒泡排序是最基本的就地排序算法,几乎每个人都很熟悉。 它具有 O(n2) 最坏情况和平均时间复杂度,这使得它在大型列表中效率低下。它的实现非常简单。在循环中,从第一个元素到第 n 个(n = len(items))迭代数组。比较相邻的值,如果它们的顺序错误,交换它们。 您可以通过在每次迭代后将 n 递减 ......
GoLang中使用SQLite后跨平台交叉编译之docker篇 发布时间: 2019-09-08 12:25:03 评论数: 0
编译环境: Mac+Docker因为sqlite使用了cGo,所以跨平台编译的时候,需要将相关依赖包也处理一下。这儿推荐使用xgo打包工具,结合Docker。本教程适用于Mac 。当然,另外一个解决方法是,安装不同的虚拟机。分平台打包。安装docker、配置Go环境省略拉取镜像docker pull karalabe/xgo-latest安装打包工具(它的作用就是调用docker镜像中的命令)go get github.com/karalabe/xgo平台参数--targets=linux/arm : builds only the ARMv5 Linu ......
Go语言中的字符串处理 发布时间: 2019-09-05 03:28:43 评论数: 0
1 概述字符串,string,一串固定长度的字符连接起来的字符集合。Go语言的字符串是使用UTF-8编码的。UTF-8是Unicode的实现方式之一。Go语言原生支持字符串。使用双引号(“”)或反引号(``)定义。双引号:””, 用于单行字符串。反引号:``,用于定义多行字符串,内部会原样解析。示例://?单行 "心有猛虎,细嗅蔷薇" //?多行 ` 大风歌 大风起兮云飞扬。 威加海内兮归故乡。 安得猛士兮守四方! `字符串支持转义字符,列表如下:\r ?回车符(返回行首)\n ?换行符(直接跳到下一行的同列位置)\t ?制 ......
Go 编译应用软件相关设置 Golang的跨平台编译程序 发布时间: 2019-09-02 08:14:23 评论数: 0
各平台的GOOS和GOARCH参考OSARCHOS versionLinux386 / amd64 / arm>= Linux 2.6darwin386 / amd64OS X (Snow Leopard + Lion)freebsd386 / amd64>= FreeBSD 7Windows386 / amd64>= Windows 2000编译方法例如linux的64位软件CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o 存放位置 ./main.gomac的64位就是CGO_ENABLED=0 GOOS=d ......
nsq nsqlookupd中的go-svc包 发布时间: 2019-08-30 18:22:16 评论数: 0
nsqlookupd使用go-svc包来启动的 github地址:https://github.com/judwhite/go-svc 这个包我看到了类似于守护进程的方式运行程序,下面是一个demo,go-svc也是使用了这个方法 package main import ( "fmt" "os" "os/signal" "syscall" ) func main() { c := make(chan os.Signal, 1) sig := []os.Signal{syscall.SIGINT, syscall ......
Go包管理工具godep 发布时间: 2019-08-27 13:07:01 评论数: 0
godep是go的包管理工具 github:https://github.com/tools/godep 安装方式 go get github.com/tools/godep 使用godep包管理工具不能在使用go run和go build,如果直接使用还是会到GOPATH目录下去找第三方库 正确做法 godep go run godep go build 项目目录下执行执行godep save,此时会生成Godeps文件夹,同时会把所需的包放到vendor文件夹中 ......
go 常见的配置文件格式与使用 发布时间: 2019-08-26 05:57:45 评论数: 0
每一个系统都需要配置文件,比如mysql的配置,redis的配置,mail的配置等,在go语言中经常使用到哪种格式的配置文件 ①使用json conf.json文件 { "enabled": true, "path": "/usr/local" } main.go文件 package main import ( "encoding/json" "fmt" "os" ) type configuration struct { Enabled bool Path string } func ......
go 切片 发布时间: 2019-08-24 16:51:09 评论数: 0
今天看到一个切片代码,结果跟我预估的不一样,于是仔细看了一下切片的章节 slice:=make([]int,3,5) 长度为3容量为5 如图 slice:=[]int{10,20,30,40,50} newSlice:=slice[1:3] newSlice 长度=3-1 容量=5-1 newSlice结果为 [20 30] PS.slice和newSlice 切片都共享同一个底层数组,如果其中一个切片修改了值,另一个切片都会修改 ......
go fmt String接口 发布时间: 2019-08-22 00:18:36 评论数: 0
之前看到一段代码,输出接口让我无法理解,如下 package main import "fmt" type Person struct { Name string Age int } func (p Person) String() string { return fmt.Sprintf("%v (%v years)", p.Name, p.Age) } func main() { a := Person{"Arthur Dent", 42} z := Person{"Zaphod Beeblebrox" ......
Mac下搭建go语言开发环境 发布时间: 2019-08-18 19:28:10 评论数: 0
1、安装Golang的SDKhttp://golang.org ,下载最新的安装包,之后双击安装即可。安装完成之后,打开终端,输入go、或者go version(查看安装版本)出现如下信息即表示安装成功:$ go version go version go1.5.1 darwin/amd642、配置环境变量安装完sdk之后接下来便是配置环境变量了,打开终端输入cd ~ 进入用户主目录,之后输入ls -all命令查看是否存在.bash_profile文件,存在既使用vim .bash_profile打开并编辑该文件。根据自己实际情况,内容如下:export GOPATH=/Use ......
go语言的iota 发布时间: 2019-08-16 15:23:55 评论数: 0
网上看了看iota.反正是没看大懂.给个例子自己悟吧package main import ( "fmt" ) const ( TestMin = -1 TestA TestB = iota TestC ) func main() { fmt.Printf("TestMin:%d\n", TestMin) fmt.Printf("TestA:%d\n", TestA) fmt.Printf("TestB:%d\n", TestB) fmt.Printf("TestC:%d\n", TestC) }输出结果TestMin:- ......
go 条件编译 发布时间: 2019-08-14 22:03:18 评论数: 0
最近在看nsq 的nsqlookupd 其中用到了go-svc包,于是顺带看了一下代码,其中有一点不是很明白,就是一个包里出现了相同的方法,程序也没有报错, svc_other.go文件和svc_windows.go文件都实现了Run方法 终于知道他是怎么实现的 原因在于是 svc_other.go文件最上面 // +build !windows svc_windows.go文件最上面 // +build windows 这个是go语言的条件编译,之前没有遇到过,所以要写文章记录一下 // +build !windows 这个是不在windows下可以编译 // +build win ......
nsq消息队列安装测试 发布时间: 2019-08-13 13:23:45 评论数: 0
nsq是go语言实现的消息队列 PS.nsq安装必须是go版本1.6之上,要安装gpm nsq365bet怎么买球_365bet滚球有赚钱的_365bet在线备用安装 yum install gpm gpm install go get github.com/nsqio/nsq/... ? cd $GOPATH/src/github.com/nsqio/nsq/ ./test.sh 这个test.sh的脚本会自动检测和编译nsq项目,我在本地虚拟机里执行就没有成功在阿里云的机子上执行成功的 PS.nsq还有docker,这个可以到docker官方去搜索 nsqd节点维护进程 nsqlookupd & nsqd节点进程 nsqd -- ......
go开发工具推荐 发布时间: 2019-08-10 19:28:29 评论数: 0
程序的开发工具直接影响到开发的效率,下面我来推荐一款go语言的开发工具vs code 之前用sublime+gosublime,感觉不是很好 主要问题 1 代码不提示不全,比如我定义一个struct,struct这个单词不提示 2 我输入一个包不自动加载一个包 3 不能在使用的包上查看包 4 鼠标移到方法上面没有提示 下面我开始介绍vs code 官方网站 # 有人搞了一个中文版?http://www.vscode.org/ 有时候被墙 下面用截图来展示 这些功能大大方便了开发 ......
nsq nsqlookupd代码解析(一) 发布时间: 2019-08-09 00:49:57 评论数: 0
之前的文章nsq安装【推荐阅读:nsq消息队列安装测试】,最后执行了./test.sh,这个脚本其实就遍历文件夹build go程序,具体遍历了apps和bench文件夹的程序 这里主要讲nsqlookupd build这个github.com/nsqio/nsq/apps/nsqlookupd/nsqlookupd.go程序 这个文件主要使用了go-svc的包 github地址:https://github.com/judwhite/go-svc 运行一下他的Example我猜测Init方法应该跟init方法等同,之后执行Start方法,当执行关闭的时候执行Stop方法 代码清单g ......
RWMutex是读写锁 发布时间: 2019-08-07 01:52:44 评论数: 0
最近在看nsq365bet怎么买球_365bet滚球有赚钱的_365bet在线备用,其中看到了下面的代码 代码清单 github.com/nsqio/nsq/nsqlookupd/nsqlookupd.go type NSQLookupd struct { sync.RWMutex opts *Options tcpListener net.Listener httpListener net.Listener waitGroup util.WaitGroupWrapper DB *RegistrationDB } RWMutex是读写互斥锁。 ......
go html/template模板输出html 发布时间: 2019-08-05 19:28:52 评论数: 0
我在学习go语言,并且尝试写一个博客,数据库用的还是wordpress的数据库,没有使用go语言的框架,想用原生的go写 在使用html/template 模板包的时候发现没有办法输出html,主要我想把博客的内容输出来,结果显示 html竟然转义了 查看官方的说明文档 官方说明 # 比如你想输出 Hello, World! 网页上365bet怎么买球_365bet滚球有赚钱的_365bet在线备用上会显示 Hello, <b>World<b>! 解决方法 template.HTML("World") 在写的是这段 ......
Go语言的包管理 发布时间: 2019-08-03 22:32:30 评论数: 0
1 概述Go 语言的365bet怎么买球_365bet滚球有赚钱的_365bet在线备用复用建立在包(package)基础之上。包通过 package, import, GOPATH 操作完成。2 main包Go 语言的入口 main() 函数所在的包(package)叫 main,main 包想要引用别的代码,需要import导入!3 包定义,packageGo 语言的包与文件夹一一对应,同一个目录下的所有.go文件的第一行添加 包定义,以标记该文件归属的包,演示语法:package?包名包需要满足:一个目录下的同级文件归属一个包。包名可以与其目录不同名。包名为 main 的包为应用程序的入口包,其他包不能使用。包可以嵌套定义,对应的就是嵌套目 ......
go 上传EXCEL并解析 发布时间: 2019-08-01 18:45:38 评论数: 0
用php来做文件的上传并解析EXCEL,在实际的开发中是很常见的,比如订单的批量导入,用php也能处理,但在实际的开发中你进程遇到,导入文件只导入版,解析EXCEL只处理了一半,如果不检查数据可能发现不了这个问题,如果用go来做这个功能就大大提高了处理能力 下面是我写的一个测试 使用的是github.com/xuri/excelize来解析EXCEL 安装方式: go get github.com/xuri/excelize package main import ( "fmt" "io" "net/http" "os" "path" "time" ......


友情链接: php5000技术知识分享 github 码云 开源中国 csdn linux中国 阿里云 unix技术网 composer中文网 php packagist php python 安卓软件 大众365bet怎么买球_365bet滚球有赚钱的_365bet在线备用 DevStore 猪八戒威客网 人人都是产品经理 PHPwind论坛 互联网的一些事 新客网 黑马程序员 火星时代 hao123it ThinkSNS 开源社区 51CTO学院 办事儿网 IT论坛 java教程 最代码 程序员客栈 大数据培训 小程序开发 微信小程序 php开发新闻 微信小程序 java学习 微信小程序 Linux书籍 网站ip流量 xw素材网 新浪云 腾讯云 华为云 百度 新浪 网易 淘宝 腾讯 1688 搜狐 优酷 房天下 hao123 携程 天涯社区