golang做后台开发有什么优势和劣势
golang在近些年被追捧,不管某华,某阿在很多服务器开发上都在使用。
创新互联建站制作网站网页找三站合一网站制作公司,专注于网页设计,网站制作、网站建设,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为上千服务,创新互联建站网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
你不用怀疑golang的
优势:部署简单,良好的语言设计,并发性好,性能优良,开发简洁快,标准库强大,编译简单
缺点:还存在一些缺陷(例如垃圾回收),缺少安全检查,性能方面目前比不过java,第三方库不及java
但作为新兴语种,我们不用担心,背后有谷歌支持和java持平也就是时间上的问题。
而且前面还有某华,某阿顶着不怕。
如何让go编译的程序后台运行
请自行查看我前面写得GO语言开发环境和GO语言IDE编辑器的经验文章
我们先写一段GO代码
很简单就是打印输出一个hello world!
保存为print.go文件
然后再CMD下一路cd到print.go目录下来
在cmd下运行 go run print.go就可以运行go程序了
看看运行结果
GO程序的代码是可以直接编译成exe文件的
在print.go目录下运行 go build print.go即可把go程序编译成exe文件
完成之后看看exe文件是否存在
最好我们要看看运行exe的效果
为什么要使用 Go 语言?Go 语言的优势在哪里?
1、简单易学。
Go语言的作者本身就很懂C语言,所以同样Go语言也会有C语言的基因,所以对于程序员来说,Go语言天生就会让人很熟悉,容易上手。
2、并发性好。
Go语言天生支持并发,可以充分利用多核,轻松地使用并发。 这是Go语言最大的特点。
描述
Go的语法接近C语言,但对于变量的声明有所不同。Go支持垃圾回收功能。Go的并行模型是以东尼·霍尔的通信顺序进程(CSP)为基础,采取类似模型的其他语言包括Occam和Limbo,但它也具有Pi运算的特征,比如通道传输。
在1.8版本中开放插件(Plugin)的支持,这意味着现在能从Go中动态加载部分函数。
与C++相比,Go并不包括如枚举、异常处理、继承、泛型、断言、虚函数等功能,但增加了 切片(Slice) 型、并发、管道、垃圾回收、接口(Interface)等特性的语言级支持。
如何使用Go语言是操作Docker
Docker 提供了一个与 Docker 守护进程交互的 API (称为Docker Engine API),我们可以使用官方提供的 Go 语言的 SDK 进行构建和扩展 Docker 应用程序和解决方案。
转自:
整理:地鼠文档
通过下面的命令就可以安装 SDK 了:
该部分会介绍如何使用 Golang + Docker API 进行管理本地的 Docker。
第一个例子将展示如何运行容器,相当于 docker run docker.io/library/alpine echo "hello world" :
还可以在后台运行容器,相当于 docker run -d bfirsh/reticulate-splines :
列出正在运行的容器,就像使用 docker ps 一样:
如果是 docker ps -a ,我们可以通过修改 types.ContainerListOptions 中的 All 属性达到这个目的:
通过上面的例子,我们可以获取容器的列表,所以在这个案例中,我们可以去停止所有正在运行的容器。
通过指定容器的 ID,我们可以获取对应 ID 的容器的日志:
获取本地所有的镜像,相当于 docker image ls 或 docker images :
拉取指定镜像,相当于 docker pull alpine :
除了公开的镜像,我们平时还会用到一些私有镜像,可以是 DockerHub 上私有镜像,也可以是自托管的镜像仓库,比如 harbor 。这个时候,我们需要提供对应的凭证才可以拉取镜像。
值得注意的是:在使用 Docker API 的 Go SDK 时,凭证是以明文的方式进行传输的,所以如果是自建的镜像仓库,请务必使用 HTTPS !
我们可以将一个已有的容器通过 commit 保存成一个镜像:
当然,除了可以管理本地的 Docker , 我们同样也可以通过使用 Golang + Docker API 管理远程的 Docker 。
默认 Docker 是通过非网络的 Unix 套接字运行的,只能够进行本地通信( /var/run/docker.sock ),是不能够直接远程连接 Docker 的。
我们需要编辑配置文件 /etc/docker/daemon.json ,并修改以下内容(把 192.168.59.3 改成你自己的 IP 地址),然后重启 Docker :
创建 client 的时候需要指定远程 Docker 的地址,这样就可以像管理本地 Docker 一样管理远程的 Docker 了:
现在已经有很多可以管理 Docker 的产品,它们便是这样进行实现的,比如: portainer 。
当前文章:go语言后台运行 go语言 后端
标题来源:http://lswzjz.com/article/dodheii.html