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

漫谈依赖管理工具:从Maven,Gradle到Go

为什么要有依赖管理工具? 谈依赖管理之前,我们先谈谈为什么要有依赖管理工具这东西。 我们学了一种编程语言,然后写了个“Hello World”,然后宣称自己学了一门语言,这时候确实不需要关心依赖问题。 然而,当你要写一个稍微复杂点的应用,那怕就是留言板这样的,需要读写数据库,就需要依赖数据库驱动,就会遇到依赖管理的问题了。 再进一步,你写了一个库,想共享给别人使用,更需要了解依赖管理的问题。 当然,如果项目足够简单,你可以直接将依赖方的源码放置在自己的项目中,或者将依赖库的二进制文件(比如jar,dll)放置在项目的lib里。要提供给别人呢?把二进制包提供下载或者给别人传过去。依赖管理工具出现之前大多数都是这样搞的。 但如果再复杂些,依赖库本身也有依赖怎么弄呢?将依赖压缩打包,然后放个rea...阅读全文

包和包管理工具

Go语言——包和包管理工具 1、包简介 1.1 工作空间 go语言的工作空间必须由 bin、pkg、src三个目录组成 workspace | +--- bin // go install 安装目录。 | | | +--- learn | | +--- pkg // go build ⽣成静态库 (.a) 存放目录。 | | | +--- darwin_amd64 | | | +--- mylib.a | | | +--- mylib | | | +--- sublib.a | +--- src // 项目源码目录。 | +--- learn | | | +--- main.go | | +--- mylib | +--- mylib.go | +--- sublib | +--- subl...阅读全文

博文 2019-06-26 09:32:42 杨旭

Go Module 入门使用

对于Go的版本管理主要用过 glide,下面介绍 Go 1.11 之后官方支持的版本管理工具 mod。 关于 mod 官方给出了三个命令 go help mod、go help modules、go help module-get 帮助了解使用。 设置 GO111MODULE 可以用环境变量 GO111MODULE 开启或关闭模块支持,它有三个可选值:off、on、auto,默认值是 auto。 GO111MODULE=off 无模块支持,go 会从 GOPATH 和 vendor 文件夹寻找包。 GO111MODULE=on 模块支持,go 会忽略 GOPATH 和 vendor 文件夹,只根据 go.mod 下载依赖。 GO111MODULE=auto 在 $GOPATH/src 外面且...阅读全文

博文 2018-10-15 11:34:43 xfstart07

dep - Solving failure: No versions/No more versions of xxx

前言 如果你正在使用Golang的dep工具,我相信你可能会遇到这个问题 dep 版本 $ dep version dep: version : devel build date : git hash : go version : go1.10 go compiler : gc platform : linux/amd64 当前Latest release为v0.4.1 问题 使用dep包管理工具时,无论执行dep init -v或是dep ensure 总是报版本错误(no more versions、no versions)的问题 $ dep ensure Solving failure: No versions of xxxx met constraints: master: unab...阅读全文

一些mysql的知识以及go语言操作mysql,mysqld服务

go语言操作mysql优质链接: http://www.cnblogs.com/hupengcool/p/4143238.html 数据库驱动: 刚接触数据库是在命令框中使用数据库,而数据驱动就是可以通过其他的方式调用sql语句, 同样去操作数据库,进行数据存储。 mysql用户管理: 修改root用户名密码:http://book.51cto.com/art/200904/120306.htm MySQL是一个多用户数据库,具有功能强大的访问控制系统,可以为不同用户指定允许的权限。 MySQL用户可以分为root用户和普通用户。 root用户是超级管理员,拥有所有权限,包括创建用户、删除用户和修改用户的密码等管理权限; 普通用户只拥有被授予的各种权限。 用户管理包括管理用户帐户、权限等。 ...阅读全文

博文 2016-11-23 07:00:01 ZzZz_ing

使用 dep 配置 golang 开发环境

概要 golang 的包管理一直没有官方统一的解决方案,因此也产生了很多非官方的包管理工具。 之前我一直使用的 gb(https://getgb.io/) 能够很好的隔开各个 golang 工程,当时 gb 创建的工程不太融入已有的 GOPATH 中。 gb 相当于是把工程的目录作为 GOPATH,并且它的 vendor 目录也和 golang 自己的 vendor 不太一样。 dep 的 Roadmap 中已经制定了成为 golang 官方包管理工具的计划, 所以,使用 dep 来组织自己的 golang 项目以后能够更好的和其他 golang 项目结合。 配置 golang 的配置 我的 golang 的配置主要分 3 块: GOROOT: 用于存放 golang 本身,更新 golan...阅读全文

博文 2017-09-18 09:30:02 wang_yb

三马投资,上市公司,深圳南山区诚聘区块链研发工程师,go语言工程师各一名

区块链研发工程师 职位描述: 1、负责研究区块链协议、运行机制、底层实现、算法等; 2、负责基于区块链的产品的设计和研发; 3、负责跟踪互联网领域区块链技术的发展,并应用于实际研发产品中。 任职要求: 1、本科及以上学历,至少2年以上区块链相关开发经验优先 2、精通 Golang,C++任意一种开发语言; 3、熟悉区块链平台产品,如 Bitcoin,Ethereum,Hyperledger 等,深入理解区块链核心技术; 4、理解主流共识算法,包括不限于 PoW,PoS,DPoS,PBFT,Paxos,Raft 等; 5、熟悉数据结构和算法,对密码学,安全协议和加密算法有研究; 6、有分布式,点对点网络协议或应用开发经验优先; 7、对区块链技术有极大的兴...阅读全文

yum源配置

在配置yum前首先得说说rpm,在redhat和centos linux系统上,rpm作为软件包管理工具,可以方便的安装、查询、卸载软件包。常见命令如下: #安装: rpm -ivh jdk-7u25-linux-x64.rpm #卸载: rpm -e jdk-7u25-linux-x64.rpm #升级: rpm -Uvh jdk-7u25-linux-x64.rpm #查询软件的安装路径: rpm -ql yum-3.4.3-118.el7.noarch #查询所有安装的包: rpm -qa #查询某个文件是哪个rpm包产生: rpm -qf /var/lib/yum/yumdb 但是在多个包组成的rpm包用rpm命令安装时,其依赖包问题是超级繁琐的。 yum是redhat和centos...阅读全文

博文 2019-10-20 12:02:44 小碗汤

通过项目学习Go语言之go mod

Go语言的包管理经过了多种工具的演变,上一节中我们通过配置GOPATH来存放源代码进行包的管理,其实称不上包管理,在起初开发的时候我们会把我们一个系统依赖的全部源代码下载到src目录,当多个 系统依赖不同版本的代码库时,处理起来十分的麻烦。所以,Go的包管理一致受到开发者的诟病。后来社区出现了几个针对Go开发的包管理工具。从Godep包管理工具到glide,直至go1.5版本引入go vender机制才有了基本的包管理能力,govender的引入也是实验性质的,也就是说直至go1.5版本都没有出来一个正式的包管理工具。随着go1.11的正式发布go modules试探性的成为官方认可的包管理工具,在这个版本的发行中正式包含的go mod 工具包,开始对go 模块化管理有了初步的支持,不过开发...阅读全文

博文 2019-11-15 17:32:51 更多精彩内容正在或即将被使用的Go依赖包管理方法:Go Modules,Go 1.13的标准特性李佶澳9 Go盒子:包及包管理GoFuncChanGo ModuleslkzyGo——依赖管理_羊羽_《Go语言四十二章经》第八章 Go项目开发与编译ffhe

Supervisor事件通知

supervisor-event-listener Supervisor事件通知, 支持邮件, Slack, WebHook 简介 Supervisor是*nix环境下的进程管理工具, 可以把前台进程转换为守护进程, 当进程异常退出时自动重启. supervisor-event-listener监听进程异常退出事件, 并发送通知. 项目地址 supervisor-event-listener Supervisor配置 [eventlistener:supervisor-event-listener] ; 默认读取配置文件/etc/supervisor-event-listener.ini command=/path/to/supervisor-event-listener ; 指定配置文件路...阅读全文

在 Go 中使用 finalizers 比不使用更好

Go 拥有 finalizers,它们支持程序调用一些代码并作为一个对象来进行垃圾回收。然而,很多人不太喜欢 finalizers,并且通常的建议是完全避免它们 ([比如](https://twitter.com/davecheney/status/790343722865090560))。最近,David Crawshaw 在[《Finalizers 惨案》](https://crawshaw.io/blog/tragedy-of-finalizers) 一文中指出 finalizers 的众多弊端并展示一个依赖他们会导致失败的案例。我差不多同意其上述所有观点,但与此同时,我自己已经在[一个 Go 包访问 Solaris/Illumos kstats](https://github.com...阅读全文

博文 2018-11-19 10:06:47 polaris

提升研发效率 保障数据安全——阿里云宣布数据管理DMS企业版正式商业化

摘要: 阿里云数据管理DMS企业版,作为数据管理产品大家族里的新成员,于2017年11月开启公测,今年1月底正式发布商业化版本。 作为业界领先的面向企业的数据库DevOps解决方案,DMS企业版旨在帮助企业安全、高效的使用数据库,提升研发与DBA运维的协作效率,为企业核心数据提供更安全的访问管控和操作记录查询审计。 **点此查看原文: http://click.aliyun.com/m/41268/** 阿里云数据管理DMS企业版,作为数据管理产品大家族里的新成员,于2017年11月开启公测,今年1月底正式发布商业化版本。 ![图片描述](http://img.blog.csdn.net/20180130104827243?watermark/2/text/aHR0cDov...阅读全文

Beanstalk 队列服务器控制台 Aurora-Console

aurora 是一个 Golang 编写的基于 Web 的 Beanstalk 消息队列服务器管理工具,单文件无需依赖其他组件,支持管理本地和远程多个队列服务器。 项目地址 github.com/Luxurioust/aurora 特点 跨平台支持 macOS/Linux/Windows 32/64-bit 单文件简单易部署 不依赖其他组件 支持读取配置文件方式启动 + 登陆用户认证 定时刷新 Beanstalk 队列服务器状态 对每个 Tube 的 ready/delayed/buried 状态进行管理 支持批量清空 Tube 中的 Job 支持 Job 文本高亮显示 支持 Job 模糊搜索 自定义队列服务器状态监控项 界面截图 Beanstalk 服务器列表 Tube 管理页...阅读全文

博文 2017-05-10 02:00:36 续日

兄弟连区块链教程以太源码分析accounts包简介

accounts包实现了eth客户端的钱包和账户管理。账号的数据结构:typeAccount struct { Address common.Address json:"address" // Ethereum account addressderived from the key URLURL json:"url" // Optional resource locator within a backend }钱包interface,是指包含了一个或多个账户的软件钱包或者硬件钱包type Wallet struct { URL() URL // URL 用来获取这个钱包可以访问的规范路径。它会被上层使用用来从所有的后端的钱包来排序。 Status() (string, error) // 用...阅读全文

博文 2018-10-17 15:34:39 兄弟连区块链培训

招聘区块链的大小咖,欢迎来撩,坐标杭州

岗位职责 1.从事区块链产品的设计与研发工作,研究区块链的协议,运行机制和底层实现等; 2.搭建基于区块链的底层架构,实现公链、侧链、私链等多种逻辑,供应用层调度使用。 3.组织制定和实施技术决策和技术方案,组织架构设计与升级优化; 4.指导项目团队成员的日常开发工作,解决开发中的技术问题; 职位要求 1.熟悉比特币、以太坊、Fabric等的区块链相关机制与原理 2.理解各类主流的共识算法,包括不限于PoW,PoS,DPoS,PBFT,Paxos,Raft等 3.熟练掌握GoLang或C/C 开发语言 4.熟练掌握主流编程语言如Node.js, Python 5.熟悉linux操作系统,熟练掌握Docker容器技术的原理,部署和使用优化 6.熟悉TCP/IP...阅读全文

请问go进行事务管理,必须要手动开头启动session,结束关闭吗,有没有类似java的注解机制

```go session := engine.NewSession() defer session.Close() // add Begin() before any action err := session.Begin() user1 := Userinfo{Username: "xiaoxiao", Departname: "dev", Alias: "lunny", Created: time.Now()} _, err = session.Insert(&user1) if err != nil { session.Rollback() return } user2 := Userinfo{Username: "yyy"} _, err =...阅读全文

调试etcd时遇到的一些梗

前言 看完raft后, 一直有计划通过看etcd进一步学习, 毕竟在生产环境中引入了etcd, 有必要对其更透彻的了解. 在调试etcd时遇到了一些梗. 这里做个记录. 问题 cannot load 系列 如 cannot load golang_org/x/net/dns/dnsmessage 原因是golang的包管理工具bug, 在参考golang uninstall完全清理干净后: sudo rm -r /usr/local/go 再按官网golang install说明安装. 即可解决. wget https://dl.google.com/go/go1.13.5.linux-amd64.tar.gz sudo tar -C /usr/local -xzf go1.13.5.lin...阅读全文

博文 2020-01-02 21:32:38 enjolras1205

Go语言的版本管理工具Go module介绍

参考: http://c.biancheng.net/view/4774.html 关键词: 通过下面的关键词,进行理解,记住: 你要明白的是:如何开启这个工具,不同版本不一样 go.mod, go.sum文件 是做什么用的? 如何解决某些包,下载超时,失败的问题? 最初的时候Go语言所依赖的所有的第三方包都放在GOPATH 目录下面, 这就导致了同一个包只能保存一个版本的代码, 如果不同的项目依赖同一个第三方的包的不同版本,应该怎么解决呢? Go module 是从GO语言从1.11版本之后官方推出的版本管理工具, 并且从Go1.13版本开始, Go module 成为了Go语言默认的依赖管理工具。 1、如何开启GoModule工具? 在Go语言 1.12 版本之前,要启用 go modu...阅读全文

博文 2020-01-25 03:32:53 翻江倒海一条鱼

Go Module 未来的趋势

Go Modules介绍 Modules是Go 1.11中新增的实验性功能,基于vgo演变而来,是一个新型的包管理工具。 GO111MODULE 要使用go module,首先要设置GO111MODULE=on GO111MODULE=off,go命令行将不会支持module功能,寻找依赖包的方式将会沿用旧版本那种通过vendor目录或者GOPATH模式来查找。 GO111MODULE=on,go命令行会使用modules,而一点也不会去GOPATH目录下查找。 GO111MODULE=auto,默认值,go命令行将会根据当前目录来决定是否启用module功能。这种情况下可以分为两种情形:当前目录在GOPATH/src之外且该目录包含go.mod文件,或者当前文件在包含go.mod文件的目录...阅读全文

博文 2019-05-09 03:35:01 My_Fuzz

Go语言开发工具 LiteIDE0.1.6 released

LiteIDE简介 go语言开发工具,更新至0.1.6,支持WIN32/Linux64bit。 实现特征: *) UTF8文件读写 *) GO语法高亮 *) 项目管理 *) 支持.pro项目编译 *) 支持无项目单独文件编译 *) gopromake自动编译工具 *) 可以从编译错误中定位到源码 项目主页: http://code.google.com/p/golangide/ 项目下载: http://code.google.com/p/golangide/downloads/list 操作系统支持: WIN32 LINU...阅读全文

博文 2015-06-17 23:00:48 visualfc

关于Go Modules,看这一篇文章就够了

Go 1.13版本之后新的包管理器Modules趋于成熟,目前越来越多的开源项目已经支持Go Modules,典型的如etcd。Go具有相当长的包管理工具变迁史,各种包管理工具层出不穷,究其原因,还是官方没有实现足够好用包管理工具。本文不对部分基础知识做详解,主要重点是Go Modules,本文来源:[https://roberto.selbach.ca/in...]() GOPATH的缺陷 几乎所有的包管理工具在Go 1.11版本之前都绕不开GOPATH这个环境变量。GOPATH主要用来放置项目依赖包的源代码,GOPATH不区分项目,代码中任何import的路径均从GOPATH为根目录开始;但现在GOPATH已经不够用了。 不区分依赖项版本 当有多个项目时,不同项目对于依赖库的版本需求不一...阅读全文

博文 2020-02-07 13:32:38 shaoyuan1943

GVM - Go 的多版本管理工具,使用介绍

文作者: dryyun原文链接: https://dryyun.com/2018/11/28... 基本介绍 项目地址 Go GitHub GVM GitHub 本机环境 设备 MacBook Pro 系统 macOS High Sierra 10.13.6 多版本管理使用场景 在 Mac 上使用 brew install go 真的很简单,一个命令就安装了最新版本的 Go,但是在实际使用过程中 线上版本跟你本地版本不一样,你需要切换 想尝试一下最新版本的 Go,但是实际开发还是不变 其他语言都有 xxvm 工具,Go 也要来一个 以上,其实使用 docker 就能解决了,相比而言,我觉得直接切换版本是更轻量级的做法,除非你有同时开发几个项目,都使用不同版本的 Go 的经验。 brew 有一...阅读全文

采用Glide对Golang进行包管理

概述 Golang的包管理工具有很多,本篇幅主要介绍Glide进行包管理。 安装及命令介绍 ➜ tonny@tonny-pc ~ go get github.com/Masterminds/glide 命令介绍glide create|init 初始化项目并创建glide.yaml文件.glide get 获取单个包 --all-dependencies 会下载所有关联的依赖包 -s 删除所有版本控制,如.git -v 删除嵌套的vendorglide install 安装包glide update|up 更新包 案例测试 准备 本次测试的包是 github.com/mattn/go-adodb ,这个包其中有一个依赖包是 github.com/go-ole/go-ole。 下载单个包 co...阅读全文

博文 2017-02-10 15:53:08 技术学习

深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!

今年微软Build 2016大会最让开发人员兴奋的消息之一,就是在Windows上可以原生运行Linux bash,对开发人员来说,这是一个喜闻乐见的消息。 1 安装 你必须安装开发者预览版本,才能使用windows的linux subsystem功能。 首先打开你的Windows 10的设置,在"更新和安全"选项中(我的机器是英文操作系统,但中文操作系统类似),选择"开发者",然后选择"开发者模式": 在Windows 更新和安全选项中,选择"Windows 更新",在"更新设置"中选择高级选项,你必须打开"内部预览版本"选项,并且将内部预览的级别设置为最快: 在"设置"->"系统"选项中,查看当前系统信息,你的OS版本必须是14316,如果不是这个版本,请运行在线升级,升级到这个版本: ...阅读全文

博文 2017-02-09 08:31:46 callmelanmao

有,总比没有要好:Go依赖管理工具dep

介绍 早期的Golang被很多开发者所诟病的一个问题就是依赖包的管理。Golang 1.5 release版本的发布之前,只能通过设置多个GOPATH的方式来解决这个问题,例如:我两个工程都依赖了Beego,但A工程依赖的是Beego1.1,B工程依赖的是Beego1.7,我必须设置两个GOPATH来区分,并且在切换工程的时候GOPATH也得切换,无比痛苦。终于终于在Golang 1.5 release 开始支持除了GOROOT和GOPATH之外的依赖查询,那就是vender,于是很多大佬开始造轮子,造得比较好的应该是dep和glide。 主角出场 今天的主角是dep,Golang的官方依赖工具,用来管理和下载工程依赖的工具,以下是官方的介绍 dep is a prototype depen...阅读全文

阿里带你一起学习企业运维监控平台架构设计与实现

课程介绍 本课程主要介绍了企业常见的运维监控平台的构建思路和常用软件,讲述了cacti、nagios、zabbix、ganglia、webnagios等常用监控软件的差异和优劣,并深入介绍了通过ganglia+nagios如何快速构建一个统一运维监控平台。 课时列表 • 课时1:Cacti/Nagios/Zabbix/centreon/Ganglia之抉择 • 课时2:统一运维监控平台设计思路 • 课时3:ganglia的安装与配置过程 • 课时4:通过gmetric接口扩展Ganglia监控 • 课时5:Centreon的结构与运行机制以及安装配置 • 课时6:配置centreon监控系统 • 课时7:实现ganglia与centr...阅读全文

[笔记]为什么不能在struct中存Contexts?

引用来自 golang team 成员 Sajmani 的 issues 回答 Yes, the impedance mismatch is primarily a concern for exported types. The scenario I'm worried about is: package foo defines type Context that contains a context.Context and, say, method Foo() *Foo, for accessing foo-specific data. package bar defines type Context that contains a context.Context and, say, me...阅读全文

博文 2019-04-10 01:34:43 yujie_7be3

go管理多个项目如何书写gopath以及利用脚本控制项目管理路径

项目组织结构 yishiyaonie:go liuhanlin$ pwd /Users/liuhanlin/qiniuwork/go yishiyaonie:go liuhanlin$ ls aone public qbox 所以设置gopath为pwd的内容:/Users/liuhanlin/qiniuwork/go aone为新项目,public为公共的go库,qbox为第三方库。 提倡的写法 yishiyaonie:go liuhanlin$ $GOPATH -bash: /Users/liuhanlin/qiniuwork/go/public:/Users/liuhanlin/qiniuwork/go/qbox/base/qiniu:/Users/liuhanlin/qiniuwor...阅读全文

博文 2016-09-06 19:00:01 guoer9973

Golang包管理工具(一)之govendor的使用

本文个人博客地址为:http://www.huweihuang.com/article/golang/govendor-usage/ 本文个人博客地址为:https://huweihuang.net/article/golang/govendor-usage/ 更多golang包管理工具参考 - dep的使用 - glide的使用 - govendor的使用 1. govendor简介 golang工程的依赖包经常使用go get命令来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。 常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了 GO15VENDOREXPERIMENT...阅读全文

「Go」Go语言之依赖管理

不积跬步,无以至千里;不积小流,无以成江海。 码字不易,点赞再看。 Go语言的依赖管理随着版本的迭代正逐渐完善起来。 依赖管理 常见的包管理有,dep、go vendor、glide、go modules 等。过时的东西就不在去研究,这里主要说一下 go modules,go modules是Go1.11版本之后官方推出的版本管理工具,并且从 Go1.13 版本开始,go modules将是Go语言默认的依赖管理工具。 GO111MODULE 要启用go modules 支持首先要设置环境变量 GO111MODULE(通过go env看),通过它可以 开启 或 关闭 模块支持,它有三个可选值:off、on、auto,默认值是auto。 GO111MODULE=off 禁用模块支持,编译时会从...阅读全文

博文 2020-04-15 11:33:11 不住隔壁的王老师

gf框架之分页模块(一) - 基本介绍

文章来源:http://gf.johng.cn/597431 分页管理由gpage包实现,gpage提供了强大的动态分页及静态分页功能,并且为开发者自定义分页样式提供了极高的灵活度。 使用方式: import "gitee.com/johng/gf/g/util/gpage" 方法列表:godoc.org/github.com/johng-cn/gf/g/util/gpage func New(TotalSize, perPage int, CurrentPage interface{}, url string, route ...string) *Page func (page *Page) EnableAjax(actionName string) func (page *Page) F...阅读全文

博文 2018-05-21 12:34:37 John

go包管理工具 glide 的问题 求助~~

我执行的指令 在jaeger-client-go 同级目录 ➜glide get github.com/uber/jaeger-client-go#2.7.0 glide.yaml package: github.com/uber/jaeger-client-go import: - package: github.com/uber/jaeger-client-go version: ^2.7.0 执行结果: [WARN] The name listed in the config file (github.com/uber/jaeger-client-go) does not match the current location (gith...阅读全文

Go依赖管理工具Go Module

Go Module 官方提供的不再依赖gopath的包管理工具 官方文档:https://github.com/golang/go/wiki/Modules 使用示例: 在(除gopath外)自己喜欢的任意目录下,新建项目 # 新建测试项目 ➜ Desktop mkdir gotest 在gotest目录下新建main.go文件,并导入iris包 package main import "github.com/kataras/iris" func main() { } 初始化一个新的 module ➜ go mod init gotest go: creating new go.mod: module gotest 执行go run main.go 命令自动下载所依赖的包,会自动生成go.m...阅读全文

博文 2019-11-17 02:32:41 更多精彩内容用go-module作为包管理器搭建go的web服务器HLHdetective告别GOPATH,快速使用 go mod(Golang包管理工具)koowavego1.12下Go mod使用实践会飞的鲶鱼go mod go包管理工具详细介绍

golang中的make与new

golang 中有两个内存分配机制 :new和make,二者有明显区别. new:new(T)分配了零值填充的T类型的内存空间,并且返回其地址,即一个*T类型的值。其自身是一个指针.可用于初始化任何类型 make: 返回一个有初始值(非零)的T类型,而不是*T,其只能用来初始化:slice,map和channel三种类型。 对比: 适用范围:make 只能创建内建类型(slice map channel), new 则是可以对所有类型进行内存分配 返回值: new 返回指针, make 返回引用 填充值: new 填充零值, make 填充非零值 代码: package main import ( "fmt" "reflect" ) type Books struct { Title, Co...阅读全文

Golang学习--包管理工具glide

上一篇文章中我们已经成功的运行了go的代码,这是我们迈出的最基础的一步。 一个项目通常会依赖很多外部的库,当依赖的库比较多的时候,手工管理就会比较麻烦,这个时候就需要包管理工具出场了,帮你管理好所有依赖的库。 php项目中使用composer,javascript项目中使用npm,那么在go项目中,我们需要使用什么? 包依赖工具的选择 当前go的包管理工具有glide、godep、govendor和gvt等,相关对比的文章可以查看《go依赖包管理工具对比》。 功能对比可以参考如下内容(虽然跟上面文章比较的工具有些不同),内容来自《Go Package Manager Comparison》 Glide GB Godep Govendor Semantic Versions ✓ ✓ ✕ ✓ S...阅读全文

博文 2017-12-15 12:00:01 CraryPrimitiveMan

新贵 Rust(1)

首先要明确的一点就是 rust 是系统级别的底层开发语言。与 c++ 处于同一层面。rust 有可能在将来逐步取代 C++ 在嵌入式和游戏领域老大的地位。而且 rust 在区块链技术领域也有不熟的表现Rust 是一种注重高效、安全、并行的系统程序语言。Mozilla将 Firefox 的命运与Rust语言捆绑起来。Rust是Mozilla主导开发的注重安全、速度和并发的系统级编程语言,最新版本为1.15。随着Rust的成熟,Mozilla开始尝试用Rust开发Firefox的组件,其中包括核心引擎Servo/Project Quantum。 Rust VS golangCargo.toml 文件为包管理工具,类似于 package.json golang作为服务器语言仍然是相当不错的选择,不...阅读全文

golang goroutine_并发

并发:一箭多发 并行:同一时刻一起执行(齐头并进) 例子: package main import ( "fmt" "sync" ) // goroutine 多任务操作 var wg sync.WaitGroup // 声明一个全局的 wg 计数器对象[上下文管理器] (WaitGroup 结构体类型) func fun1(i int) { defer wg.Done() // 延迟调用,当次函数将要执行完毕时调用 fmt.Println(i) } func main() { for i := 0; i < 100; i++{ // 每次循环开启一个新的线程执行一个匿名函数 wg.Add(1) //go func(i int){ // 匿名函数 // defer wg.Done() // ...阅读全文

博文 2020-04-17 23:32:47 小麦客

十年磨一剑,阿里巴巴企业级数据管理平台:iDB

摘要: 阿里巴巴企业级数据库管理平台iDB面向云时代推出数据管理DMS企业版,是业界首创的数据库DevOps解决方案,形成了云时代企业数据管理的最佳实践。 十年间,阿里巴巴的研发人员也增长了十倍,为了解决DBA的服务效率问题,十年前我们开始iDB的研发,完成手工变更的在线化,成为了DBA能力产品化的载体。在最新的4.0版本中,iDB面向云时代推出数据管理DMS企业版,是业界首创的数据库DevOps解决方案,形成了云时代企业数据管理的最佳实践。 一、 为了效率与安全而生 在阿里巴巴,数据库团队是数据的守护者,保障着数据库安全、稳定、高效的运行。在早期,DBA除了负责数据库的基础运维,对于研发流程中的数据库变更也都由DBA负责,包括线上库表设计、结构变更发布、数据变更、SQL审...阅读全文

<转载>借助 Docker 企业版大幅节省 IT 预算

摘要: 我们最近启动了一项针对系统管理员和 IT 专业人员的系列学习内容,称之为“IT 人员的 Docker 入门”。我们此前已经介绍了一些基础知识,包括容器技术以及面向企业的 Docker 解决方案。 今天,我们讨论一个重要的问题:您投入时间和公司的资金来进一步探索 Docker 企业版(EE),是否值得? 对这个问题的明确回答是:肯定。已经采用 Docker 的 IT 团队发现,部署和维护应用程序的速度更快、更轻松,而且可以更好地利用基础设施,而无需触及底层代码。开发团队也正在体验生产力的大幅提升,新的开发人员能够更快上手,从开发到生产的周期大幅缩短,以及消除了应用程序对机器的依赖性("它在我的机器上可以正常工作")所带来的困扰。 640_090404_jpeg 您可...阅读全文

golang辅助包介绍

本文章持续更新 1. gopm 解决因为被墙,go get 无法下载问题 go get github.com/gpmgo/gopm 下载下来可通过gopm get [下载地址]方式下载 2. goimport 自动添加缺失的import 行, 自动删除多余的import行 gopm get -v golang.org/x/tools/cmd/goimports 3. dep 包依赖管理工具,如果自己的项目依赖的包很多,又不想加入到版本库中,可使用此工具进行批量下载 go get -v github.com/golang/dep 4. protobuf 解决json、xml文件信息过大问题,方便信息更快传输 如果文件想在项目中进行编辑则不合适,因为protobuf产生的是二进制 此工具使用稍微...阅读全文

博文 2018-12-05 16:34:56 __simple

govendor包管理工具的使用

govendor简介 golang工程的依赖包经常使用go get命令来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。 常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了GO15VENDOREXPERIMENT 环境变量(Go 1.6版本默认开启该环境变量),用于将go build时的应用路径搜索调整成为 当前项目目录/vendor 目录方式。通过这种形式,我们可以实现类似于 godep 方式的项目依赖管理。 2.安装与使用 2.1. 安装 go get -u -v github.com/kardianos/govendor 2.2. 使用 进入到项目目录 cd /home...阅读全文

博文 2019-02-01 11:34:48 小蹦蹦28号

兄弟连区块链教程分享区块链POW证明代码实现demo

兄弟连区块链教程分享区块链POW证明代码实现demo,2018年下半年,区块链行业正逐渐褪去发展之初的浮躁、回归理性,表面上看相关人才需求与身价似乎正在回落。但事实上,正是初期泡沫的渐退,让人们更多的关注点放在了区块链真正的技术之上。这里强调一下区块链的协议分层应用层合约层激励机制共识层网络层数据层上 一篇主要实现了区块链的 数据层,数据层主要使用的技术就是对数据的校验,求hash。这里介绍工作量证明POW, POW是属于共识机制的内容。PoW机制中根据矿工的工作量来执行货币的分配和记账权的确定。算力竞争的胜者将获得相应区块记账权和比特币奖励。因此,矿机芯片的算力越高,挖矿的时间更长,就可以获得更多的数字货币。优点:算法简单,容易实现;节点间无需交换额外的信息即可达成共识;破坏系...阅读全文

博文 2018-10-17 17:34:42 兄弟连区块链培训

Go依赖管理工具dep

安装: Mac:brew install dep Linux curl https://raw.githubusercontent.com/golang/dep/master/install.sh | sh 验证 终端输入dep ➜ ~ dep Dep is a tool for managing dependencies for Go projects Usage: "dep [command]" Commands: init Set up a new Go project, or migrate an existing one status Report the status of the project's dependencies ensure Ensure a dependency...阅读全文

博文 2019-11-17 02:32:42 更多精彩内容有,总比没有要好:Go依赖管理工具depfreelanggolang 官方依赖管理工具 dep 使用和持续集成木猫尾巴时间NAV辞典旅游心得:我在旅行途中,你在哪?污大师2018.5.11囧man

go web编程——session管理机制设计与实现

生Go语言没有实现session管理机制,所以如果使用原生Go语言进行web编程,我们需要自己进行session管理机制的设计与实现,本文将就此进行详细介绍,并实现一个简单的session管理机制。session信息可以使用内存、文件或数据库等方式进行存储,考虑到对不同存储方式的兼容,我们设计的session管理机制应该能很方便的在不同存储方式之间进行切换。所以,session管理机制可以分为两部分内容:session管理器和session存储器,session管理器主要负责多种存储方式的共同操作部分,例如,cookie的读取与设置、session ID的生成,以及一些共同需要的参数设置等等。session管理器结构可设置如下://session管理器 type SessionManager...阅读全文

博文 2019-12-19 23:21:56 JetWu

1.安装Ontology

成功编译ontology需要以下准备: Golang版本在1.9及以上 安装第三方包管理工具glide 正确的Go语言开发环境 Golang所支持的操作系统 部署|获取ontology 从源码获取 克隆ontology仓库到 $GOPATH/src/github.com/ontio 目录 $ git clone https://github.com/ontio/ontology.git 或者 $ go get github.com/ontio/ontology 用第三方包管理工具glide拉取依赖库 $ cd $GOPATH/src/github.com/ontio/ontology $ glide install 用make编译源码 $ make 成功编译后会生成两个可以执行程序 onto...阅读全文

博文 2018-06-22 11:34:40 stevenlife

Golang包管理工具之govendor的使用

本文个人博客地址为:http://www.huweihuang.com/article/golang/govendor-usage/ 本文个人博客地址为:https://huweihuang.net/article/golang/govendor-usage/ 更多golang包管理工具参考 golang包管理工具之glide的使用1. govendor简介golang工程的依赖包经常使用go get命令来获取,例如:go get github.com/kardianos/govendor ,会将依赖包下载到GOPATH的路径下。常用的依赖包管理工具有godep,govendor等,在Golang1.5之后,Go提供了 GO15VENDOREXPERIMENT 环境变量(Go 1.6版本默认...阅读全文