bazel build //:go

作者简介何源古典互联网从业者2014年底加入英语流利说,目前主要负责PlatformTeam。来流利说工作之前,在thePlant杭州工作。内容大纲1.程序包管理(PackageManagement)2.代码管理(CodeManagement Multilanguages)3.bazelbuild//:go4.Demo1.程序包管理(PackageManagement)VendorGo从1.5版本开始引进了Vendor, 1.7的时候默认已经从vendor下面加载代码了,如果你所使用的lib的安装的G

  • 0
  • 0
  • 阅读 ( 810 )

使用docker部署一个带配置文件的golang项目

使用docker部署一个带配置文件的golang项目首先看下我这的目录结构编写dockerfile生成镜像完整文件代码谢谢支持附上git地址 配置文件放docker内只做为举例,实际并不推荐,建议用配置文件统一管理。 首先看下我这的目录结构 我这的gopath为gowork目录 编写dockerfile 首先编译main.go生成二进制文件,该二进制文件可以直接在相应的linux服务器下运行。 我这里使用如下指令,编译后会

  • 0
  • 0
  • 阅读 ( 3041 )

Golang项目创建

环境搭建 下载语言环境包 https://golang.google.cn/dl/ 项目创建 1.安装插件 2.配置参数 目录结构如下: 3.创建项目 项目路径上一级必须是src 4.测试 目录结构如下: packageentity typeUserstruct{ Namestring Sexstring } packagemain import( "GoLab/main/entity" "fmt" ) funcmain(){ user:=

  • 0
  • 0
  • 阅读 ( 980 )

golang 项目 Makefile demo

因为看到很多golang项目都使用Makefile来完成程序的编译运行,这里我也百度了一些博客,从别人写的Makefile中摘取了我经常用到的功能。整理记录如下: 功能list: helphelp命令使用sed命令从Makefile中获取命令列表和注释 build通过ldflags参数编译时注入版本信息(golang版本项目版本gitcommit构件时间) installbuild后将可执行命令移动到GOBIN环境变量中 build-linux构建linux版本的二进制可执行

  • 0
  • 0
  • 阅读 ( 1038 )

idea配置golang项目以及编译部署

1.前提 接手了一个golang项目,首先需要跑起来,然后能够部署到服务器,至于golang语法什么的,以后再学 2.安装go环境 直接点到底,就安装好了(没有配置环境变量) 3.gopath文件夹 新建gopath/src目录(工作空间,放源码),bin目录(放可执行文件),将用到的第三方包放入,这边因为是接手,所以直接拷过来的 (不能考就下载,如:gogetgithub.com/gin-gonic/gin) k3c-helper是实际的项目

  • 0
  • 0
  • 阅读 ( 2013 )

LiteIDE编译GOLANG项目报错ltdl.h: No such file or directory解决办法

在Github上下了一个项目,在使用LiteIDE编译时报错,错误信息如下: #github.com/miekg/pkcs11D:goprojectsrcgithub.commiekgpkcs11pkcs11.go:29:10:fatalerror:ltdl.h:Nosuchfileordirectory   #include<ltdl.h>        ^~~~~~~~compilationterminated.  错误:进程退出代码2. 命令行解决方法:gobuild-tagsnopk

  • 0
  • 0
  • 阅读 ( 1755 )

初试jenkins:jenkins拉取github上的golang项目(1)

初试jenkins:jenkins拉取github上的golang项目(1) 在我自己的云主机上安装jenkins的docker版本。 先把docker安装上 sudoaptinstalldocker.io 使用docker安装jenkins,直接调用run命令,如果你的主机上没有这个镜像它会自动pull镜像并运行 sudodockerrun-d-p8080:8080-p50000:50000--namejenkins-uroot-v~/jenkins:/var/jenkins_homejenkin

  • 0
  • 0
  • 阅读 ( 1597 )

在 GitHub 上构建一个看上去正规的 Golang 项目

前言 接触golang时间很长,但是真正动手开始写golang也就是在最近。虽然写的不多,但是见过的golang项目可是不计其数,从 Kubernetes 和 istio 到亲身参与的 kustomize 再到Kubernetes生态圈的众多小工具,比如: kubeval 、 kubedog 等。从项目使用者和贡献者的角度接触了各种形形色色的golang项目。作为一个开发人员,在享受各种开源项目带来便利的同时,也希望自己动手开发一个g

  • 0
  • 0
  • 阅读 ( 1977 )

一个 Golang 项目的测试实践全记录

桔妹导读:最近有一个项目,链路涉及了4个服务。最核心的是一个配时服务。要如何对这个项目进行测试,保证输出质量,是最近思考和实践的重点。这篇就说下最近这个实践的过程总结。——▍测试金字塔按照MikeCohn提出的“测试金字塔”概念,测试分为4个层次:最下面是单元测试,单元测试对代码进行测试。再而上是集成测试,它对一个服务的接口进行测试。继而是端到

  • 0
  • 0
  • 阅读 ( 787 )

golang | windows平台golang环境搭建(过坑之后)

背景 我所处的环境 windows10(详细版本无所谓) go最新版本 vscode编辑器(非IDE,IDE为goland需要钱买) 广州中国移动网络 golang安装 下载 官方网站https://golang.org国内无法打开的,原因都懂。 国内https://studygolang.comGo语言中文网。版本不会最新。 国内https://go-zh.org/doc/installGo语言中文镜像站(这个网站无法下载,我也搞不懂)。 安装 一般会选择MSI格式来安装,一可以选择zip。不过

  • 0
  • 0
  • 阅读 ( 1686 )

Vscode配置Go(golang)扩展打包下载,以及详细教程(2019/7/8日)

2019/7/84:09最新的17个扩展 扩展源码打包(需要进行安装命令):https://pan.baidu.com/s/1pYV2tctf3Ar3F8LMGCrybg提取码:kl0q 整个工作目录的打包文件:https://pan.baidu.com/s/14-RlVNyP80aCoIYK4bqXfA 提取码:epo1 使用说明: 1.if(没有创建工作区){建立一个目录,目录下包含bin文件夹src文件夹pkg文件夹。将目录添加到环境变量GOPATH里面}else{创建一个目录,添加进环境变量GOP

  • 0
  • 0
  • 阅读 ( 1103 )

Go modules:最小版本选择

一.介绍每个依赖管理解决方案都必须解决选择依赖项版本的问题。当前存在的许多版本选择算法都试图识别任何依赖项的“最新最大(latestgreatest)”版本。如果您认为语义版本控制(sematicversioning)将被正确应用并且这种社会契约得到遵守,那么这是有道理的。在这样的情况下,依赖项的“最新最大”版本应该是最稳定和安全的版本,并且应与较早版本具有向后兼容性。至少在相

  • 0
  • 0
  • 阅读 ( 996 )

golang并发一看就懂系列

1.从并发模型说起 定义:在go里面,每一个并发执行的活动成为goroutine。 详解:goroutine可以认为是轻量级的线程,与创建线程相比,创建成本和开销都很小,每个goroutine的堆栈只有几kb,并且堆栈可根据程序的需要增长和缩小(线程的堆栈需指明和固定),所以go程序从语言层面支持了高并发。 程序执行的背后:当一个程序启动的时候,只有一个goroutine来调用main函数,称它为主gor

  • 0
  • 0
  • 阅读 ( 1242 )

Golang并发(一)- 并发的介绍

2019独角兽企业重金招聘Python工程师标准>>> Peoplecanonlylosewhentheygiveupfighting,solongastheyinsistonfighting,theywillnotlose. 人,只有在放弃战斗的时候才算输,只要坚持战斗,就还没输。 Golang是并发语言而不是并行语言。 那么并行和并发有什么千丝万缕的关系的呢? 什么是并发,并行? 并发就是一次性做大量的事情的能力。 1.解释一:并行是指两个或者多个事件在同一时刻发生

  • 0
  • 0
  • 阅读 ( 931 )

golang_锁: sync.RWMutex读写锁的用法介绍

sync.RWMutex读写锁 typeRWMutexstruct{ //包含隐藏或非导出字段 } RWMutex是读写互斥锁。该锁可以被同时多个读取者持有或唯一个写入者持有。RWMutex可以创建为其他结构体的字段;零值为解锁状态。RWMutex类型的锁也和线程无关,可以由不同的线程加读取锁/写入和解读取锁/写入锁。 Lock func(rw*RWMutex)Lock() Lock方法将rw锁定为写入状态,禁止其他线程读取或者写入。 Unlock func(rw*RWMutex)Un

  • 0
  • 0
  • 阅读 ( 1036 )

Intellij IDEA ,按Ctrl+左键,不能进入类或方法的【解决办法】,提示Cannot find declaration to go to

IntellijIDEA,按Ctrl+左键,不能进入类或方法的【解决办法】,提示Cannotfinddeclarationtogoto 2017年8月4日 朱宏亮%1$S IntellijIDEA,按Ctrl+左键,不能进入类或方法的【解决办法】,提示Cannotfinddeclarationtogoto   如图,,按住Ctrl+鼠标单击的时候,系统提示Cannotfinddeclarationtogoto。   原因:导入项目的时候使用的是Open而不是ImportProject。

  • 0
  • 0
  • 阅读 ( 1978 )

Golang使用感受

之前一段时间,我曾经做过一些有关Golang的介绍。最近从使用Golang的过程中,又有一些新的感受,与大家分享一下。我比较反对语言之间的比较,一门编程语言能做什么,取决于用户用它做了什么,而一门语言擅长于做什么,取决于用户经常用它做什么,它的语法在解决哪个领域的问题比较有优势。我只是单纯站在一门语言的角度,来谈谈自己对它的客观看法。 Golang能做什么

  • 0
  • 0
  • 阅读 ( 1187 )

goland使用

  设置tab键和缩进,让golang代码更加美观。因为默认的缩进量太小了,看起来怪怪的。       设置后外观:        显示行号和分割线。让代码中的方法之间用水平分割线来隔开,代码层次更加清晰。行号就更不用说了,定位。                 1、设置goland字体,使得shell脚本更加美观      项目编码设置:    配置golang文件中的符号样式   转载于:https://www.cnblogs.com/igo

  • 0
  • 0
  • 阅读 ( 1545 )

Django实现用户登录

今天的文章基于之前做的配置,实现一个具体的功能Demo——登录。在login的templates目录下创建两个模板,分别是login.html和home.html,当用户未登录时,跳转到login.html页面,登陆成功或者登录状态,跳转到home.html。 url的配置主要有两个,django_demo下的urls.py,内容如下: fromdjango.conf.urlsimporturl,include fromdjango.contribimportadmin urlpatterns=[

  • 0
  • 0
  • 阅读 ( 986 )

rabbitmq 客户端golang实战

rabbitmq消息模式 rabbitmq中进行消息控制的组建可以分为以下几部分: exchange:rabbitmq中的路由部件,控制消息的转发路径; queue:rabbitmq的消息队列,可以有多个消费者从队列中读取消息; consumer:消息的消费者; rabbitmq在使用过程中可以单独使用queue进行消息传递(例如celery就可以使用单个queue进行多对多的消息传递),也利用exchange与queue构建多种消息模式,主要包括fanout、dir

  • 0
  • 0
  • 阅读 ( 1352 )