go语言开发webapi go语言开发websoket服务

Go语言以后会不会成为web主流开发语言?不会成为web主流
go是设计初衷来做系统应用和取代C++的....
目前主要用传统编译型语言编译成机器码的形式...
和web开发的跨平台标准化等特性有距离...
会成为很方便系统应用开发、客户端开发的语言...
go语言web框架beego安装(go mod方式)go语言web框架beego安装(go mod方式)_不忘初心go语言开发webapi,方得始终-CSDN博客
重要:将bee命令放到GOROOT/bin目录下go语言开发webapi,这步很关键
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可指定编译后go语言开发webapi的文件名
Golang常用环境变量说明与设置详解
环境变量GOBIN表示我们开发程序编译后二进制命令go语言开发webapi的安装目录 。
当我们使用go install命令编译和打包应用程序时,该命令会将编译后二进制程序打包GOBIN目录 , 一般我们将GOBIN设置为GOPATH/bin目录 。
export GOBIN=$GOPATH/bin
Go get包管理mod
windows下默认项目路径在go安装目录的src下(beego)
Go语言HTTPServer开发的六种实现学完了 net/http 和 fasthttp 两个HTTP协议接口的客户端实现,接下来就要开始Server的开发,不学不知道一学吓一跳,居然这两个库还支持Server的开发,太方便了 。
相比于Java的HTTPServer开发基本上都是使用Spring或者Springboot框架,总是要配置各种配置类,各种 handle 对象 。Golang的Server开发显得非常简单,就是因为特别简单,或者说没有形成特别统一的规范或者框架,我发现了很多实现方式,HTTP协议基于还是 net/http 和 fasthttp,但是 handle 语法就多种多样了 。
先复习一下: Golang语言HTTP客户端实践 、 Golang fasthttp实践。
在Golang语言方面,实现某个功能的库可能会比较多,有机会还是要多跟同行交流,指不定就发现了更好用的库 。下面我分享我学到的六种Server开发的实现Demo 。
基于 net/http 实现,这是一种比较基础的 , 对于接口和 handle 映射关系处理并不优雅 , 不推荐使用 。
第二种也是基于 net/http ,这种编写语法可以很好地解决第一种的问题,handle和path有了类似配置的语法,可读性提高了很多 。
第三个基于 net/http 和 github.com/labstack/echo ,后者主要提供了 Echo 对象用来处理各类配置包括接口和handle映射,功能很丰富,可读性最佳 。
第四种依然基于 net/http 实现,引入了 github.com/gin-gonic/gin 的路由,看起来接口和 handle 映射关系比较明晰了 。
第五种基于 fasthttp 开发,使用都是 fasthttp 提供的API,可读性尚可,handle配置倒是更像Java了 。
第六种依然基于 fasthttp,用到了 github.com/buaazp/fasthttprouter ,有点奇怪两个居然不在一个GitHub仓库里 。使用语法跟第三种方式有点类似,比较有条理 , 有利于阅读 。
2021-05-12 GO 与C#代码行对比最近在做一个内网穿透工具,是用C# Dotnet Core写的 。总担心性能不行,想参考下别人写的 。结果搜到很多GO语言的例子 。看了下Go语言的介绍,觉得确实是比较简单的语言 。并且在并发上比较方便 。于是,就开始学习Go语言 , 并用Go把内网穿透工具重新写了一下 。
然后,又想用Go语言重写之前的DotnetCore的WebAPI,现在还在编写中,只是对比下两个语言差异 。
【go语言开发webapi go语言开发websoket服务】 然后看下 C#
实际上目前我也没有能力判断GO和C#哪个更好

推荐阅读