简介

isuntong · · 2264 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

官方网站

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 envgo 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

检查是否指向gorootgopath

这里可以修改主题为黑色

新建helloworld.go文件,默认有个demo包

我们把它修改成main,作为主程序

package main

import "fmt"

func main() {
    fmt.Println("HelloWorld")
}

运行

编码规范

ctrl+alt+L格式化代码


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:isuntong

查看原文:简介

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

2264 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传