官方网站
https://golang.org/
Go语言的特点及优势
(⼀)、Go语⾔设计初衷(为什么会设计Go语⾔?)
1、设计Go语⾔是为了解决当时Google开发遇到的问题:
- ⼤量的C++代码,同时⼜引⼊了Java和Python
- 成千上万的⼯程师
- 数以万计⾏的代码
- 分布式的编译系统
- 数百万的服务器
2、Google开发中的痛点:
- 编译慢
- 失控的依赖
- 每个⼯程师只是⽤了⼀个语⾔⾥⾯的⼀部分
- 程序难以维护(可读性差、⽂档不清晰等)
- 更新的花费越来越⻓
- 交叉编译困难
3、如何解决当前的问题和痛点?
Go希望成为互联⽹时代的C语⾔。多数系统级语⾔(包括Java和C#)的根本编程哲学来源于C++,将C++的⾯向对象进⼀步发扬光⼤。但是Go语⾔的设计者却有不同的看法,他们认为值得学习的是C语⾔。C语⾔经久不衰的根源是它⾜够简单。因此,Go语⾔也是⾜够简单。
所以,他们当时设计Go的⽬标是为了消除各种缓慢和笨重、改进各种低效和扩展性。Go是由那些开发⼤型系统的⼈设计的,同时也是为了这些⼈服务的;它是为了解决⼯程上的问题,不是为了研究语⾔设计;它还是为了让我们的编程变得更舒适和⽅便。
但是结合Google当时内部的⼀些现实情况,如很多⼯程师都是C系的,所以新设计的语⾔⼀定要易学习,最好是类似C的语⾔;20年没有出新的语⾔了,所以新设计的语⾔必须是现代化的(例如内置GC)等情况。最后根据实战经验,他们向着⽬标设计了Go这个语⾔。
4、Go语⾔的特⾊:
- 没有继承多态的⾯向对象
- 强⼀致类型
- interface不需要显式声明(Duck Typing)
- 没有异常处理(Error is value)
- 基于⾸字⺟的可访问特性
- 不⽤的import或者变量引起编译错误
- 完整⽽卓越的标准库包
- Go内置runtime(作⽤是性能监控、垃圾回收等)
优势
特性和优势
环境搭建
访问官网
https://golang.org/
下载选项
下载msi文件安装,一路next到底
命令行输入go env
查看得到go的配置信息
go version
查看go的版本号
设置GOROOT、GOPATH环境变量
GOROOT是安装目录
GOPATH是工作空间
打开命令行输入go env
、go version
配置GOPATH的用意是为了方便项目的部署和构建,以及可以直接使用go get 命令下载第三方的包到自己的项目的src下和相关的执行文件bin目录,和中间文件pkg
src :项目的源代码
pkg :编译后的生成文件
bin : 编译后的可执行文件
如果你只是想单独的写个go代码可以不设置GOPATH
第一个程序
工作目录下创建文件夹,创建文件
写代码
package main
import "fmt"
func main(){
/* 简单程序 */
fmt.Println("HelloWorld")
}
go run
E:\go\src\hello>go run helloworld.go
HelloWorld
注意是 func,不要写成 fun
go build
任意路径:
go install hello
项目路径
go install
注意,在编译生成go程序时,go实际上会去两个地方找程序包:
GOROOT的src文件夹下,以及GOPATH下的src文件夹下
在程序包里,自动找到main包下的main函数作为程序入口,然后进行编译
运行go程序
在/home/go/bin下(如果之前没有bin目录则会自动创建)、会发现出现了一个hello的可执行文件,用如下命令运行:
./hello
E:\go\bin>hello
HelloWorld
破解goland
使用方法:
0. 先下载压缩包解压后得到jetbrains-agent.jar。
下载页面:https://zhile.io/2018/08/17/jetbrains-license-server-crack.html
1. 启动你的IDE,如果上来就需要注册,选择:试用(Evaluate for free)进入IDE。
2. 将 jetbrains-agent.jar 拖进IDE窗口,点 "Restart" 按钮重启IDE。
(事实上你拖 jetbrains-agent-latest.zip 进去IDE窗口也没问题)
3. 在弹出的JetbrainsAgent Helper对话框中,选择激活方式,点击安装按钮。
如果你是无外网环境,在对话框中勾选:我无法访问外网 选项(如银行、公安内网)。
4. 重启IDE,搞定。
x. 支持两种注册方式:License server 和 Activation code:
1). 选择License server方式,地址填入:http://fls.jetbrains-agent.com (网络不佳的用第2种方式)
2). 选择Activation code方式离线激活,请使用:ACTIVATION_CODE.txt 内的注册码激活
如果激活窗口一直弹出(error 1653219),请去hosts文件里“移除”jetbrains相关的项目
License key is in legacy format == Key invalid,表示agent配置未生效。
如果你需要自定义License name,请访问:https://zhile.io/custom-license.html
3). 现在你可以使用jetbrains-agent + license server激活jetbrains平台的付费插件了!
除了:"IEDIS 2" 和 "MINBATIS",这两个请使用 IEDIS_MINBATIS_CODE.txt 来激活。
现在有这些付费插件:https://plugins.jetbrains.com/search?isPaid=true
可以使用了
苹果系统的dash可以查看包
也可以通过godoc -http=:9527
,然后在浏览器中输入127.0.0.1:9527
也能查看包
使用goland
检查是否指向goroot
和gopath
这里可以修改主题为黑色
新建helloworld.go文件,默认有个demo包
我们把它修改成main,作为主程序
package main
import "fmt"
func main() {
fmt.Println("HelloWorld")
}
运行
编码规范
ctrl+alt+L
格式化代码
有疑问加站长微信联系(非本文作者)