快捷搜索:  汽车  科技

go语言环境官网(云原生所需的编程基础)

go语言环境官网(云原生所需的编程基础)并发:通过进程模型进行扩展。端口绑定:通过端口绑定提供服务。后端服务:把后端服务当做附加资源。构建,发布,运行:严格分离构建和运行。进程:以一个或多个无状态进程运行应用。

之前写的【从0开始学k8s】,基本60%都是做开发,但是做开发的很多是不写go的,学go就是为了云原生,不会跨度非常大的讲go的所有细节,主要目的用go语言,用go语言写一些基本的程序,读懂Go的代码。发现一个问题通过所学习,可以解决代码上的问题,找到问题的原因。会go语言,原理的东西不理解,一般面试是过不了的。长见的问题,系统地给大家讲解。

go语言环境官网(云原生所需的编程基础)(1)

统一思想(一)
  • ① 12 factors

基准代码:一份基准代码,多份部署。

依赖:显式生命依赖关系【方便管理】。

配置:在环境中存储配置。

后端服务:把后端服务当做附加资源。

构建,发布,运行:严格分离构建和运行。

进程:以一个或多个无状态进程运行应用。

端口绑定:通过端口绑定提供服务。

并发:通过进程模型进行扩展。

易处理:快速启动和优雅终止可最大化健壮性。

开发环境与线上环境等价:尽可能地保持开发,预发布,线上环境相同

日志:把日志当作事件流。

管理进程:后台管理任务当作一次性进程运行。

为什么需要使用Go语言(二)
  • ① Go语言的原则
  1. 大道至简(less is exponentially more)【太复杂,内部的开发人员沟通都感觉复杂的话,这个应用就很失败】
  2. 少做胜于多做(Do Less,Enable More)
  • ② 为什么需要Go语言

并行处理支持力度最大。减少关注技术本身的调优,尽量多关注业务的开发。

其他编程语言的弊端。

  1. 硬件发展速度远远超过软件。
  2. C语言等原生语言缺乏好的依赖管理(依赖头文件)。
  3. Java和C 等语言过于笨重。
  4. 系统语言对垃圾回收和并行计算等基础功能缺乏支持。
  5. 对多核计算机缺乏支持。

Go语言是一个可以编译高效,支持高并发的,面向垃圾回收的全新语言。

  1. 秒级完成大型程序的单节点编译。
  2. 依赖管理清晰。
  3. 不支持继承,程序员无需花费精力定义不同类型之间的关系。
  4. 支持垃圾回收,支持并发执行,支持多线程通讯。
  5. 对多核计算机支持友好。

Go语言不支持的特性

  1. 不支持函数重载和操作符重载。
  2. 为了避免在C/C 开发中的一些Bug和混乱,不支持隐式转换。
  3. 支持接口抽象,不支持继承。
  4. 不支持动态加载代码。
  5. 不支持动态链接库。
  6. 通过recover和panic来替代异常机制。
  7. 不支持断言。
  8. 不支持静态变量。
  • ③ Go语言特性衍生来源

go语言环境官网(云原生所需的编程基础)(2)

windows下安装go(三)
  • ① 官网

https://golang.google.cn/ 无需翻墙

go语言环境官网(云原生所需的编程基础)(3)

  • ② 下载windows版本的go

go语言环境官网(云原生所需的编程基础)(4)

go语言环境官网(云原生所需的编程基础)(5)

  • ② 安装步骤

go语言环境官网(云原生所需的编程基础)(6)

go语言环境官网(云原生所需的编程基础)(7)

修改安装目录,尽量目录不要加入空格,防止出现奇葩异常错误

go语言环境官网(云原生所需的编程基础)(8)

go语言环境官网(云原生所需的编程基础)(9)

go语言环境官网(云原生所需的编程基础)(10)

安装完成后,win R输入cmd进入命令行,切换到Go的安装目录。

go语言环境官网(云原生所需的编程基础)(11)

因为是安装版本,自动创建了环境变量,查看下环境变量看是否正确【设置-高级系统设置-环境变量】

go语言环境官网(云原生所需的编程基础)(12)

go语言环境官网(云原生所需的编程基础)(13)

环境变量

  1. GOroot:go的安装目录
  2. GOPATH
    l src:存放源代码
    l pkg:存放依赖包
    l bin:存放可执行文件

go语言环境官网(云原生所需的编程基础)(14)

国内用户建议设置 goproxy:export GOPROXY=https://goproxy.cn

go语言环境官网(云原生所需的编程基础)(15)

  • ③ IDE 设置(VS Code)

下载并安装 Visual Studio Code
https://code.visualstudio.com/download

安装 Go 语言插件
https://marketplace.visualstudio.com/items?itemName=golang.go

其他可选项

  1. Intellj goland,收费软件
  2. vim,sublime等
  • ④ VS code插件安装

go语言环境官网(云原生所需的编程基础)(16)

File->Preference->Settings->Extensions->Go Configuration->Edit in setting.json

go语言环境官网(云原生所需的编程基础)(17)

go语言环境官网(云原生所需的编程基础)(18)

settings.json

go语言环境官网(云原生所需的编程基础)(19)

{ "workbench.colorTheme": "Default Dark " "security.workspace.trust.untrustedFiles": "open" "go.alternateTools": { "go.goproxy":"https://goproxy.cn" "go.goroot":"C:\\Go" "go.gopath":"C:\\GoWorkspace" } }

  • ⑤ 设置代理,使的VsCode生效

上面配置的参数设置好后,打开VsCode的终端

$ go env -w GO111MODULE=on $ go env -w GOPROXY=https://goproxy.cn direct

go语言环境官网(云原生所需的编程基础)(20)

这里记住!!!!记住重启VsCode,一定要重启。
这里记住!!!!记住重启VsCode,一定要重启。
这里记住!!!!记住重启VsCode,一定要重启。

  • ⑥ 重新打开后,写个Go代码,保存后,开始自动下载插件

go语言环境官网(云原生所需的编程基础)(21)

  • ⑦ 随便写个go代码。运行下试试

没用插件,写的终端命令的方式。

go语言环境官网(云原生所需的编程基础)(22)

  • ⑧ Idea 安装go插件

go语言环境官网(云原生所需的编程基础)(23)

在intelliJ的Plugins中可以找Golang的插件 直接下载即可。但是大部分时候因为大家都知道的原因,并不一定能够搜索到,或者能够搜索到也不一定能够下载,遇到这种情况可以去官网上下载对应的jar包再手动安装。
插件地址:https://plugins.jetbrains.com/plugin/5047
下载最新版本的Golang插件。
选择 install plugin form disk 安装 安装完成之后可以看到Golang插件:

go语言环境官网(云原生所需的编程基础)(24)

go语言环境官网(云原生所需的编程基础)(25)

插件安装完后,重启idea。新建立项目选择Go

go语言环境官网(云原生所需的编程基础)(26)

  • ⑨ 最简单的方式安装goland

一路next,包括sdk也不用下载,它会根据你要的版本自动下载。

go语言环境官网(云原生所需的编程基础)(27)

  • ⑦ Go的一些基本命令

build: 编译包和依赖

clean: 移除对象文件

doc: 显示包或者符号的文档

env: 打印go的环境信息

bug: 启动错误报告

fix: 运行go tool fix

fmt: 运行gofmt进行格式化

generate: 从processing source生成go文件

get: 下载并安装包和依赖

install: 编译并安装包和依赖

list: 列出包

run: 编译并运行go程序

test: 运行测试

tool: 运行go提供的工具

version: 显示go的版本

vet: 运行go tool vet

  • ⑩ 国内和国外直接在线练习Go代码

Golang playground
官方 playground
https://play.golang.org/

go语言环境官网(云原生所需的编程基础)(28)

可直接编写和运行 Go 语言程序
国内可直接访问的 playground
https://goplay.tools/

go语言环境官网(云原生所需的编程基础)(29)

PS:这次给golang的环境已经准备好了,比较推荐使用goland工具,方便省心,vsCode和其他的方式各种环境容易让你糟心。go因为它自身的高并发能力,所以公司用go改造中间价。云原生90%都是go。

猜您喜欢: