重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
go语言web框架beego安装(go mod方式)_不忘初心,方得始终-CSDN博客
目前创新互联已为上千家的企业提供了网站建设、域名、虚拟空间、网站运营、企业网站设计、寿宁网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
重要:将bee命令放到GOROOT/bin目录下,这步很关键
cp bee /usr/local/go/bin/
注:或者可以将GOPATH/bin设置为环境变量
echo ’export PATH=" PATH"' ~/.bashrc
source ~/.bashrc
router路由下方法名要大写,访问权限
wq保存
生效环境变量: source /etc/profile
go build -o abc.exe可指定编译后的文件名
Golang常用环境变量说明与设置详解
环境变量GOBIN表示我们开发程序编译后二进制命令的安装目录。
当我们使用go install命令编译和打包应用程序时,该命令会将编译后二进制程序打包GOBIN目录,一般我们将GOBIN设置为GOPATH/bin目录。
export GOBIN=$GOPATH/bin
Go get包管理mod
windows下默认项目路径在go安装目录的src下(beego)
golang学习比较简单,不过任何一门语言都不是孤立存在的,在这里简要说明一下golang开发的学习路线
1.golang基础,包括go语言安装,go语言语法,流程控制语句,函数,方法,面向对象概念,网络编程,并发编程等
2.golang开发框架,包括beego,gin,Iris,Echo等
3.微服务开发
4.深入的话还可以学习算法部分。如果要接触区块链相关技术的话,还需要学习区块链的加密算法等相关知识
5.如果要结合go实现应用的话,肯定离不开各种数据库,比如关系型数据库oracle、mysql,或者各类非关系型数据库等等
6.如果需要开发界面的话,还需要学习网页编程如html,javascript,vue,elementUI,bootstrap等网页开发技术和框架。
7.在以上学习的基础上还可以向架构方面深入学习。
链乔教育在线祝您学有所成。
近几年诞生了很多微服务框架,比如JAVA的Spring Cloud、Dubbo;Golang的GoKit和GoMicro以及NodeJs的Seneca。几乎每种主流语言都有其对应的微服务框架。
Go在微服务框架中有其独特的优势,至于优势在哪,自行google。
1、GoKit框架
这是一个工具包的集合,可以帮助攻城狮构建强大、可靠和可维护的微服务。提供了用于实现系统监控和弹性模式组件的库,例如日志、跟踪、限流、熔断等。
基于这个框架的应用程序架构由三个主要的部分组成:
传输层:用于网络通信,服务通常使用HTTP或者gRPC等网络传输协议,或者使用NATS等发布订阅系统相互通信。
接口层:是服务器和客户端的基本构建块。每个对外提供的接口方法都会定义为一个Endpoint,一遍在服务器和客户端之间进行网络通信,每个端点使用传输层通过HTTP或gRPC等具体通信模式对外提供服务
服务成:具体的业务逻辑实现
2、GoMicro框架
这是一个基于Go语言实现的插件化RPC微服务框架。提供了服务发现、负载均衡、同步传输、异步通信以及事件驱动等机制,尝试简化分布式系统之间的通信,让开发者更专注于自身业务逻辑的开发。
GoMicro的设计哲学是可插拔的架构理念,提供了可快速构建系统的组件,并且可以根据自身的需求对GoMicro提供的默认实现进行定制。所有插件都可在仓库github.com/micro/go-plugins 中找到。
Go作为近两年迅速流行起来的编程语言始终致力于使事情简单化。它并未引入很多新概念,而是聚焦于打造一门简单的语言,让开发者使用起来感觉异常快速且简单。相信有意向深入学习Go语言的小伙伴都在研究Go的开源项目,今天我就把自己觉得不错的6个Go开源项目推荐给大家,希望大家能获得收获和成长。
推荐一:kubernetes 【Star:44418】
Kubernetes基于Docker,其目的是让用户通过Kubernetes集群来进行云端容器集群的管理,而无需用户进行复杂的设置工作。系统会自动选取合适的工作节点来执行具体的容器集群调度处理工作。
推荐二:etcd 【Star:21408】
etcd是由CoreOS开发并维护键值存储系统,它使用Go语言编写,并通过Raft一致性算法处理日志复制以保证强一致性。目前,Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都广泛使用了etcd。
推荐三:deis 【Star:6093】
Deis是一个基于Docker和CoreOS的开源PaaS平台,旨在让部属和管理服务器上的应用变得轻松容易。它可以运行在AWS、GCE以及Openstack平台下。
推荐四:flynn 【Star:6936】
Flynn是一个使用Go语言编写的开源PaaS平台,可自动构建部署任何应用到Docker容器集群上运行。Flynn项目受到Y Combinator的支持,目前仍在开发中,被称为是下一代的开源PaaS平台。
推荐五:lime 【Star:13775】
相对上面的几款Go语言在云端和服务器端之外,Lime则显得比较特殊。Lime,则是一款用Go语言写的桌面编辑器程序,被看做是著名编辑器Sublime Text的开源实现。
六:revel 【Star:10508】
Revel是一个高生产力的Go语言Web框架。Revel框架支持热编译,当编辑、保存和刷新源码时,Revel会自动编译代码和模板;全栈特性,支持路由、参数解析、缓存、测试、国际化等功能。
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语言天生支持并发,所以十分适合编写分布式爬虫及大数据处理。
Revel Web开源框架
个高效的Go语言Web开发框架, 其思路完全来自 Java 的 Play Framework。
特点
热编译,简单可选,同步(每个请求都创建自己的goroutine来处理。
Go语言Web框架:beego
一个用Go开发的应用框架,思路来自于tornado,路由设计来源于sinatra。
支持特性
MVC;
REST;
智能路由;
日志调试;
配置管理;
模板自动渲染;
layout设计;
中间件插入逻辑;
方便的JSON/XML服务;