一、go语言介绍

1、诞生于 2009年,天然支持并发,很新,生态不完善

python:1989年,java:1990年。2005年,之前的语言,对并发支持不是特别好

2、google出的。

python,java:sun公司(甲骨文收购了)。  c#:微软

3、Go是静态 、强类型语言,编译型语言。编译成可执行文件

java编译成字节码-->运行在jvm上:每台机器都要跑一个jvm,300m内存

解释型语言:直接运行在解释器上。比如:php,js,python

4、可跨平台:可以在windows平台编译出linux下的可执行文件

java:一处编码,处处运行。

go写的程序,只需要跨平台编译完,拿到不通平台上,不需要安装任何依赖

5、支持面向对象和面向过程的编程模式,有垃圾回收的机制

6、2009年推出   12年稳点版本

7、Go语言应用场景:google,基本上所有互联网都会有go,不是在用go,就是在转go的路上

8、 go语言为什么火?:docker火,谷歌(k8s),区块链(第一款开源的区块链项目,用go写的),

国内互联网公司爱用,性能高,语法简介,上手快,go特别适合服务端开发(微服务的开发)

二、go语言环境搭建:go开发包(类似于python解释器)+ ide(golang,vscode)

1、go开发包(类似于python解释器)

基本命令:

go version 查看go的版本

go env    查看go的环境变量

解析:

GO111MODULE=                                                             # 没有值或者off,表示没有开启go mode模式,用的就是gopath模式

GOROOT=c:\go                                                               # go开发包的安装路径,确认好是否对

GOPATH=C:\Users\Administrator\go                               # 代码存放路径,确认好是否对,以后你的go代码都放在这个文件夹下

go mode模式      表示:代码可以放在任意路径

go build xx.go      表示:编译

go install              表示:安装,把编译好的可执行文件,放到bin路径下

go fmt                  表示:代码格式化

go run xx.go        表示: 编译并执行

2、ide开发工具(golang) :golang:跟pycharm 90%相似

注意:

# 1   不管是用goland还是其他ide,新建项目的路径(代码),必须放在gopath路径下的src文件夹(如果没有手动创建出来)

# 2   gopath路径下会有三个文件夹:src(放代码的),pkg(编译过程产生中间的东西),bin(编译后的可执行文件)

# 3   创建项目,在项目下,创建go文件,起一个名字

2、建go文件

3、写go代码

注意:

//                       在go语言中表示   单行注释使用

/*

。。。。。

。。。。。

*/                        在go语言中表示   多行注释使用

4、执行go代码(编译型语言,先编译再执行)

方法一:Terminal下命令:go build xx.go和./xx (xx.exe)     或者  go run xx.go

编译命令:go build xx.go       表示:编译成当前平台下的可执行文件,xx为文件名

执行命令:./xx                      注意: windows系统下:执行命令为: xx.exe

注意:Println不是galang的内置包,所以需要导入fmt

hell word 不能用单引号 要用双引号,因为hello word是字符串。

程序的执行入口,是main包下的main函数

编译型语言,都有入口 ----> 对比python中一个py文件就是一个main函数

一个go项目只能有一个main函数

编译型语言不是从上往下依次执行的。

方法二:在golang中执行 直接右击:

方法三:点击代码中的 func main()   入口函数

三、变量的定义和使用

package main//fmt.Println(a,b)

import "fmt"

func main() {//1 方式一:基本定义

//var关键字 变量名 变量类型 =变量值

//var age int=18 //定义并赋值

//var age int //定义

//age=18 //赋值

//fmt.Println(age)

//2 方式二:类型推导(不需要加类型了,并不代表没有类型,类型都是固定的)

//var age =18

//Printf,%T表示类型

//fmt.Printf("age的类型是:%T,值是:%d\n", age, age)

//fmt.Println(age)

//3 方式三:简略声明(冒号跟等号是一起的,推荐第三种)

//age :=18

//fmt.Println(age)

//4 同时定义多个变量四种方法

//var age,a,b,c int=18,19,20,21 法一

//var age,a,b,c =18,19,20,21 法二

//age,a,b,c :=18,19,20,21 法三

//var ( 法四

//age=19

//name="lqz"

//sex="男"

//)

//fmt.Println(age,a,b,c)

//5 变量不能重复定义

//var a int=18

//var a=19

//a:=19

//特例:简略声明的小特殊(冒号前,至少有一个未定义的变量即可)

//b,a:=17,18

//fmt.Println(a,b)

//7 变量类型是固定的,不能中途改变变量的类型

var a int=18

//var a=18

//a:=18

//a=80

//a="xxx" //不可以

fmt.Println(a)

总结:

1 变量定义了,必须使用,否则报错

2 包导入了,要使用,不使用就报错

3 先定义再使用

4 不能重复定义

5 类型固定

四、常量的定义

常量:恒定不变的量,建议常量全用大写

程序运行过程中,不会改变的值,数据库的连接地址,端口号

package main

import "fmt"

func main() {//1 const关键字 常量名 常量类型 =值

//const age int =99

//2类型可以省略

//const age =99

//fmt.Printf("%T",age)

//3同时定义多个常量

//const (

//AGE=19

//NAME="lqz"

//sex="男"

//)

//fmt.Println(AGE)

4 改变常量(不允许)

//AGE=199

//fmt.Println(AGE)

}

五、变量的基本数据类型

package main

func main() {/*1 数字类型

有符号整形:(长度不同,表示的数字范围不一样)

-int:在32位机器上是int32,在64位机器上是int64

-int8 :8个bit位,一个字节,正负 2的7次方-1的范围

-int16: 正负 2的15次方-1的范围

-int32:

-int64:

//var a int=200

无符号整数:

-uint8 :2的8次方-1

-uint16:

-uint32

-uint64

//var a uint8=-200

浮点型:

-float32:精度不一样

-float64:一般用64

//var a float32

//var b float64

复数:

-complex类型:(了解,不知道更好)实部和虚部

//var a complex64 = 9i+10

其他:

-byte:uint8的别名

-rune:int32的别名

//2 字符串类型:用双引号包裹的内容,反引号 ``,反引号表是:可以换行

//var name string ="lqz \n" +

//"is " +

//"big"

// var name = "lqz"

//var name2 = `egon

//is

//big`

//fmt.Println(name)

//fmt.Println(name2)

//双引号内如果有双引号? 加\转义

//var name string ="lqz \"dafds\"is "

//var name1 string =`lqz "dafds"is `

//fmt.Println(name)

//3 布尔类型:true/false (小写)

//var a bool =true

//var a =true

//a :=true

//var b bool =false

//fmt.Println(a)

//fmt.Println(b)

//类型转换(强类型:不通类型之间不能做运算)

//var a int =19

//var b float32=18.1

//float转成int类型,小数点后直接弃用,不是四舍五入

//fmt.Println(a+int(b))

//var b float32=18.9999

//fmt.Println(int(b))

//恶心的地方(了解)

//var a int =199 //64为操作系统int64

//var b int64=199

int和int64不是一个类型

//fmt.Println(a+int(b))

}

gophp解释器_go语言环境搭建、基本使用相关推荐

  1. 菜鸟学C语言-环境搭建

    菜鸟学C语言-环境搭建 本人由于工作需要,需要用C写一套程序,虽然以前看过一两本C的书,但是时隔几年早已忘得一干二净,所以相当于是需要从头开始学习,在此记录一下我得学习成果 环境所需工具 window ...

  2. Windows平台Go语言环境搭建

    官网:https://golang.google.cn/dl/ 使用 Go 构建简单.安全.可扩展的系统 "当时,没有一个团队成员知道 Go,但在一个月内,每个人都在用 Go 编写,我们正在 ...

  3. VScode下的Rust语言环境搭建

    VS Code对Rust有着较完备的支持,下面主要介绍VScode下的Rust语言环境搭建 下面是VSCode的下载地址: ​​​​​​​Download Visual Studio Code - M ...

  4. Go语言环境搭建详解(2020版)

    最近写了很多Go语言的原创文章,其中Go语言实战系列30篇,近15W字,还有最近更新的Go经典库系列,不过通过大家的咨询来看,还是想要一些入门的知识,这一篇文章写于2017年初,这3年多Go更新了很多 ...

  5. python是一种蟒蛇使用的语言_python树莓派系列教程一:初识大蟒蛇 python(python语言环境搭建篇)...

    作者:剑若游龙微信公众号<科学是什么东东>,欢迎关注 作者微信号,欢迎与我交流 网络爬虫,人工智能,机器学习,如何让计算机理解能力更强,如 何让你手中的机器人更人性化,更聪明? 不管是大人 ...

  6. sublime怎么运行go_go语言环境搭建+sublime text3(windows环境下)

    1.安装sublime text3 2.安装go语言程序包 3.测试go语言是否安装成功 键入cmd命令 ,打开dos窗口,键入go命令(如果在默认路径下找不到,可以在安装目录下查找,eg:go/bi ...

  7. Windows系统下R语言环境搭建及高级图表绘制

    1.R语言环境及其编译软件下载安装: 链接:https://pan.baidu.com/s/186hjytYEqJB2kDUed0beAA  提取码:mtwh 先安装R-4.0.3-win.exe,这 ...

  8. 可爱鱼os go语言环境 搭建+ goland安装激活

    目录 0 环境 1 参考网址 2 go环境搭建 1 下载 解压安装包 2 全局变量配置和验证 3 goland安装 配置 1 下载 解压安装包 2 添加go.desktop文件 4 激活goland ...

  9. 一、Go语言环境搭建

    要搭建Go语言开发环境,我们第一步要下载go的开发工具包,稳定版本是v1.9,Go1.9增加了一些新特性,这里我使用1.13版本.安装包下载地址为:https://golang.google.cn/d ...

最新文章

  1. 知识图谱实体链接是什么?一份“由浅入深”的综述
  2. 华为 Java 编程军规 !
  3. 交换机端口与mac_address的绑定
  4. 获取打印机分辨率_喵喵机P2S热敏打印机,升级屏幕带来了哪些体验??
  5. Python3 中 sys.argv[ ]的用法解释
  6. android sd卡列目录文件_Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等...
  7. 小程序和app用什么样的服务器,小程序和APP的本质区别是什么?哪个更值得开发?...
  8. forever不重启 node_运维监控Prometheus,部署安全的node_exporter监控主机
  9. Oracle-一个中文汉字占几个字节?
  10. Flex-iframe在SWF中嵌入网页的组件(推荐)
  11. 解决 transaction-manager Attribute transaction-manager is not allowed here
  12. matplotlib 子图超过4个_Python数据分析:用Matplotlib可视化创建套图
  13. html背景视频模糊效果,怎么给竖屏视频添加模糊背景效果?
  14. python桌面程序臃肿_Python自动化整理文件“大升级”,任意路径下文件,都给你整理的明明白白!...
  15. maya中英文对照_Maya中英文对照
  16. 文本去重算法:Minhash/Simhash/Klongsent
  17. 极速版RPS选股,一秒出结果的方案是如何实现的!股票量化分析工具QTYX-V2.5.3...
  18. oracle学习之oracle基础
  19. 【bat】bat批处理安装与卸载软件,自动安装
  20. P3324 [SDOI2015]星际战争(洛谷刷题记录)

热门文章

  1. Basic--Java基本语法
  2. OpenGL之路(六)贴图
  3. 提交的时候过程很长,出现等待处理效果。
  4. laravel5.5 __construct函数 无法使用session() 解决方法和实例
  5. ps画布扩展颜色灰色不可用的原因和解决方法
  6. PHP中表单没有问题但是$_FILES为空的解决办法
  7. VS2015解决方案资源管理器空白,不显示内容
  8. 【实践】SimSvr在微信推荐系统中的应用实践
  9. BERT模型实战之多文本分类(附源码)
  10. 检验多重共线性matlab_异方差太难?检验通不过?横截面分析难题的十大暴击!...