go语言介绍

# 1 诞生于 2009年,10年的时间,非常新的语言,天然支持并发,很新,生态不完善
-python:1989年
-java:1990年
-2005年,之前的语言,对并发支持不是特别好
# 2 轮子少(生态),django,flask beego(中国人写的,orm都有),gin(集成gorm),两三个连mysql的模块
# 3 google出的 python,java:sun公司,甲骨文收购了 c#:微软 #4 Go是静态 强类型语言,是区别于解析型语言的编译型语言。
-编译后执行---》编译成可执行文件 (java编译成字节码--运行在jvm上,每台机器都要跑一个jvm,300m内存)
-解释型:直接运行在解释器上,php,js,python
-夸平台性如何?java:一处编码,处处运行,go:夸平台编译(交叉编译),可以在windows平台编译出linux下的可执行文件
-在linux上装过python,源码包下载,解压,make && make install gcc编译的,当前平台的可以执行文件
-go写的程序,只需要跨平台编译完,拿到不通平台上,不需要安装任何依赖 -强类型:go,python是强类型,不允许不同类型运算 'aa'+1 报错
-弱类型:允许不通类型运算 # 5 跨平台的编译型语言 # 6 有垃圾回收的机制(gc) python--》gil # 7 支持面向对象和面向过程的编程模式(go不是一个纯粹的面向对象语言,面向对象的特性它都有:继承,封装,多态) # 8 2009年推出 12年稳点版本 1.5——实现的架构变化,同时保留了和旧版本的兼容性,以后的go,完全实现了go自己写的
2020年 1.14版本 ---》规划:go 2.0以后,会有大更新:支持泛型,异常处理。。。 # 9 Go语言应用:google,基本上所有互联网都会有go,不是在用go,就是在转go的路上
# 10 go语言为什么笔记火:docker火,谷歌(k8s),区块链(第一款开源的区块链项目,用go写的),国内互联网公司爱用,性能高,语法简介,上手快,go特别适合服务端开发(微服务的开发) # Go语言发展前景:统治下一个十年

go开发包下载

安装包下载地址为:https://golang.org/dl/。

如果打不开可以使用这个地址:https://golang.google.cn/dl/。

命令介绍

直接在终端中输入 go help 即可显示所有的 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 env会产生以下信息:

GO111MODULE= # 没有值或者off,表示没有开启go mode模式,用的就是gopath模式
GOROOT=c:\go # go开发包的安装路径,确认好是否对
GOPATH=C:\Users\辜友银\go # 代码存放路径,确认好是否对,以后你的go代码都放在这个文件夹下 # go mode模式:代码可以放在任意路径
set GO111MODULE=
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\辜友银\AppData\Local\go-build
set GOENV=C:\Users\辜友银\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GONOPROXY=
set GONOSUMDB=
set GOOS=windows
set GOPATH=C:\Users\辜友银\go
set GOPRIVATE=
set GOPROXY=https://proxy.golang.org,direct
set GOROOT=c:\go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=c:\go\pkg\tool\windows_amd64
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config

修改配置

set GOPATH=E:\go           # 改了之后,代码必须放在E:\go\src下面

golandIDE工具下载

IDE 下载地址:http://www.jetbrains.com/go/?fromMenu

编译并执行命令

package main   //表示声明main包,每一个go代码的第一行必须写这个

import "fmt"

func main(){
fmt.Println("hellword")
fmt.Println("hello word")
} // 程序的执行入口,是main包下的main函数
//一个go项目只能有一个main函数

命令

# go命令
go build hello.go # 编译成.exe的文件
go run hello.go # 编译并执行,会产生一个.exe的执行文件。 # 在golang中执行
右键,选择,run

go开发包下载,IDE工具下载,基础配置命令的更多相关文章

  1. Python之IDE工具下载安装及注册详解及创建项目

    这篇文章很适合刚接触python语言的或者没有语言基础的同学参考: 目录: 一.IDE工具下载安装 二.IDE注册方法 三.使用IDE 开发工具使用创建项目 一.下载并安装, IntelliJ IDE ...

  2. HCNA Routing&Switching之OSPF度量值和基础配置命令总结

    前文我们了解了OSPF的网络类型,OSPF中的DR和BDR的选举规则.作用等相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/15054938.html: ...

  3. CI下载与安装_基础配置_MVC

    CI:CodeIgniter -- 由Ellislab公司的CEORickEllis开发,是一个简单快速的PHP MVC框架. =============下载和安装================地址 ...

  4. Fiddler抓包工具下载安装及使用

    一.Fiddler简介 简介: Fiddler是一款强大的Web调试工具,他能记录所有客户端和服务器的HTTP/HTTPS请求 工作原理: Fiddler是以代理web服务器的形式工作的,它使用代理地 ...

  5. MySQL之IDE工具介绍及数据备份

    一.IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 二.MySQL数据备份 # ...

  6. MySQL数据库----IDE工具介绍及数据备份

    一.IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 二.MySQL数据备份 # ...

  7. 十三、MySQL之IDE工具介绍及数据备份

    一.IDE工具介绍 生产环境还是推荐使用mysql命令行,但为了方便我们测试,可以使用IDE工具 下载链接:https://pan.baidu.com/s/1bpo5mqj 二.MySQL数据备份 # ...

  8. java在线聊天项目 实现基本聊天功能后补充的其他功能详细需求分析 及所需要掌握的Java知识基础 SWT的激活方法,swt开发包下载,及破解激活码

    补充聊天项目功能,做如下需求分析: 梳理项目开发所需的必要Java知识基础 GUI将使用更快速的swt实现 SWT(Standard Widget Toolkit) Standard Widget T ...

  9. Android SDK开发包国内下载地址

    不知道是因为最近kaihui还是怎么的,打开android sdk官方网站特别的慢,想下载最新版本的platform几乎变成不可能完成的任务,不知道为什么Google不像Apache那样在各国设立镜像 ...

随机推荐

  1. c++动态内存知识总结与疑问

    书名  BOOK TITLE <Primer c++  第5版> 基本信息 BASICS 阅读进度:第12章动态内存 阅读心得 LEARNINGS 在c++中,我知道的有静态内存.栈内存. ...

  2. [IROS 2018]Semantic Mapping with Simultaneous Object Detection and Localization

      论文地址:https://arxiv.org/abs/1810.11525   论文视频:https://www.youtube.com/watch?v=W-6ViSlrrZg​www.youtu ...

  3. Mysql中的三类锁,你知道吗?

    导读 正所谓有人(锁)的地方就有江湖(事务),人在江湖飘,怎能一无所知? 今天来细说一下Mysql中的三类锁,分别是全局锁.表级锁.行级锁. 文章首发于作者公众号[码猿技术专栏],原创不易,喜欢的点个 ...

  4. 支持向量机(Support Vector Machine)

    本博客是针对Andrew NG在Coursera上发布的Machine Learning课程SVM部分的学习笔记. 目录 前言 最优化目标(Optimization Objective) 最大化边界的 ...

  5. javaWeb课程体系介绍

    javaWeb课程体系介绍-一般必须学的课程: JavaSE开发Java基础编程Java核心编程Java高级编程DataBase开发MySQLJDBCJavaEE开发Web基础SpringSpring ...

  6. python之装饰器的进阶

    一.带参数的装饰器 (必须会) 针对不同的app的验证,比如:天猫和天猫超市,京东商城和京东超市 def wrapper_out(n): print(n) def wrapper(f): def in ...

  7. HIT软件构造课程3.2总结(Designing Specificaton)

    本节转向“方法/函数/操作”如何定义 上一节是名词 这一节是动词 1.编程语言中的函数和方法 方法 使用者不需要知道方法内部如何实现,这叫做“抽象”. 参数 参数类型是否匹配,在静态检查时完成. 返回 ...

  8. [bzoj4472][树形DP] Salesman

    题目 原地址 解说 刚看完这道题感觉还是挺乱的,可能那时候脑子不太清醒,一度觉得自己又要重拾Tarjan了.当然最后还是发觉应该用树形DP. (以下dp[u]代表以u为根的包括自己在内的子树的最大利润 ...

  9. CSS盒子模型(boeder)+浮动(float)+定位(position)

    盒子的上下层:margin--background-color--background-image--padding--content--border(最外层) 计算一个盒子宽 =  内容的宽(wid ...

  10. JS 剑指Offer(一) 数组中的重复数字

    题目:在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数字. 分析: ...