go语言编译什么包 go需要编译吗

go是什么编程语言?主要应用于哪些方面?

Go语言由Google公司开发,并于2009年开源,相比Java/Python/C等语言,Go尤其擅长并发编程,性能堪比C语言,开发效率肩比Python,被誉为“21世纪的C语言”。

站在用户的角度思考问题,与客户深入沟通,找到弓长岭网站设计与弓长岭网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:做网站、网站设计、企业官网、英文网站、手机端网站、网站推广、国际域名空间、网站空间、企业邮箱。业务覆盖弓长岭地区。

Go语言在云计算、大数据、微服务、高并发领域应用应用非常广泛。BAT大厂正在把Go作为新项目开发的首选语言。

Go语言能干什么?

1、服务端开发:以前你使用C或者C++做的那些事情,用Go来做很合适,例如日志处理、文件系统、监控系统等;

2、DevOps:运维生态中的Docker、K8s、prometheus、grafana、open-falcon等都是使用Go语言开发;

3、网络编程:大量优秀的Web框架如Echo、Gin、Iris、beego等,而且Go内置的 net/http包十分的优秀;

4、Paas云平台领域:Kubernetes和Docker Swarm等;

5、分布式存储领域:etcd、Groupcache、TiDB、Cockroachdb、Influxdb等;

6、区块链领域:区块链里面有两个明星项目以太坊和fabric都使用Go语言;

7、容器虚拟化:大名鼎鼎的Docker就是使用Go语言实现的;

8、爬虫及大数据:Go语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理。

windows 怎么编译 go语言

1、解压压缩包到go工作目录,如解压到E:\opensource\go\go,解压后的目录结构如下:

E:\opensource\go\go

├─api

├─bin

│ ├─go.exe

│ ├─godoc.exe

│ └─gofmt.exe

├─doc

├─include

├─lib

├─misc

├─pkg

├─src

└─test

2、增加环境变量GOROOT,取值为上面的go工作目录

3、Path环境变量中添加";%GOROOT%\bin",以便能够直接调用go命令来编译go代码,至此go编译环境就配置好了

注:如果不想手动设置系统环境变量,也可下载go启动环境批处理附件,

修改goenv.bat文件中的GOROOT值为上面的go工作目录后直接双击该bat文件,go编译环境变量即设置完成。

4、测试go编译环境,启动一个cmd窗口,直接输入go,看到下面的提示就是搭建成功了

E:\opensource\go\gogo

Go is a tool for managing Go source code.

Usage:

go command [arguments]

The commands are:

build compile packages and dependencies

clean remove object files

doc run godoc on package sources

env print Go environment information

fix run go tool fix on packages

fmt run gofmt on package sources

get download and install packages and dependencies

install compile and install packages and dependencies

list list packages

run compile and run Go program

test test packages

tool run specified go tool

version print Go version

vet run go tool vet on packages

Use "go help [command]" for more information about a command.

Additional help topics:

gopath GOPATH environment variable

packages description of package lists

remote remote import path syntax

testflag description of testing flags

testfunc description of testing functions

Use "go help [topic]" for more information about that topic.

5、编译helloworld测试程序,go语言包中test目录带有helloworld.go测试程序,源码见"附一 helloworld.go",

直接调用"go build helloworld.go"就生成了"helloworld.exe"可执行程序,运行一下这个程序看到了我们期望的hello,wolrd。

E:\opensource\go\go\testgo build helloworld.go

E:\opensource\go\go\testhelloworld.exe

hello, world

E:\opensource\go\go\test

附一 helloworld.go

// cmpout

// Copyright 2009 The Go Authors. All rights reserved.

// Use of this source code is governed by a BSD-style

// license that can be found in the LICENSE file.

// Test that we can do page 1 of the C book.

package main

func main() {

print("hello, world\n")

}

Go语言编译成aar并调试

go及gomobile的环境配置这里就不介绍了,直接说aar的生成和使用。

1. 设置环境变量GOPATH

GOPATH的值可以有多个,用半角分号间隔,但不能以其结束,设置完成后需要重新做 gomobile init 。

2. 在GOPATH里创建src文件夹,用于存放go的包和源文件

3. 在src中创建hello文件夹(go文件的包名)

4. 在hello中创建hello.go文件,并输入内容

5. 编译

执行命令: gomobile bind -target=android hello

会生成一个hello.aar文件

6. 导入到android工程

将hello.aar文件放入工程的libs中,并配置build.gradle

在根结点加入:

在dependencies结点下加入依赖:

7. 在Java中测试

运行后,结果会输出 Hello, Android and Gopher

Golang常用包有哪些

⑴ Go Kit

它本身不是一个框架,而是一套微服务工具集,可以用于解决分布式系统开发中的大多数常见问题,所以使用者可以专注于你的业务逻辑中。

⑵ Gingko

是一个Go测试框架,目的是帮助我们使用行为驱动开发风格高效地编写富有表现力和全面的测试,它有着非常良好的帮助文档,任何人都可以轻松地在项目中集成使用它。

⑶ NSQ

实时分布式消息传递平台,提供高可用性和可靠的消息传递保证,可以水平扩展,支持负载均衡,安装部署非常方便。

⑷ Goose

Golang中最佳的数据库迁移包,通过创建增量SQL更改和Go函数来管理数据库结构,在Go1.16版本以上,还支持了嵌入式sql迁移。

⑸ GORM

是一个功能齐全的Golang对象关系映射库,是一种开发人员友好的工具,用于在不兼容的类型系统之间转换数据,专门设计用于在类型系统之间切换时最大限度地减少重写代码。

⑹ Authboss

一个模块化的身份验证包,使用它你可以快速地在项目中进行身份验证管理。它有几个常见的身份验证和授权模块供开发人员选择。

⑺ cli

是一个简单快捷的命令行管理包,用于为Go语言构建命令行应用程序,允许开发人员开发自己的富有表现力的命令行应用程序,用于创建标志、bash完成例程并生成帮助文本。

⑻ Vegeta

是一个用于HTTP负载测试的工具包,这个多功能工具专为测试具有恒定请求率的HTTP服务而设计。它可以有效地分析程序中的潜在问题,是一个始终贯穿以提高整体性能为目的的包。


网站题目:go语言编译什么包 go需要编译吗
URL网址:http://bzwzjz.com/article/dodisec.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 广安网站设计 网站制作 企业网站建设 LED网站设计方案 网站设计制作 成都企业网站设计 营销网站建设 成都网站建设公司 成都网站建设 成都网站设计 成都网站建设推广 外贸网站建设 成都网站建设公司 响应式网站设计 企业网站制作 高端网站设计 网站制作公司 专业网站建设 网站建设 高端网站设计 成都网站设计 攀枝花网站设计