gophp解释器_go语言环境搭建、基本使用
一、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语言环境搭建、基本使用相关推荐
- 菜鸟学C语言-环境搭建
菜鸟学C语言-环境搭建 本人由于工作需要,需要用C写一套程序,虽然以前看过一两本C的书,但是时隔几年早已忘得一干二净,所以相当于是需要从头开始学习,在此记录一下我得学习成果 环境所需工具 window ...
- Windows平台Go语言环境搭建
官网:https://golang.google.cn/dl/ 使用 Go 构建简单.安全.可扩展的系统 "当时,没有一个团队成员知道 Go,但在一个月内,每个人都在用 Go 编写,我们正在 ...
- VScode下的Rust语言环境搭建
VS Code对Rust有着较完备的支持,下面主要介绍VScode下的Rust语言环境搭建 下面是VSCode的下载地址: Download Visual Studio Code - M ...
- Go语言环境搭建详解(2020版)
最近写了很多Go语言的原创文章,其中Go语言实战系列30篇,近15W字,还有最近更新的Go经典库系列,不过通过大家的咨询来看,还是想要一些入门的知识,这一篇文章写于2017年初,这3年多Go更新了很多 ...
- python是一种蟒蛇使用的语言_python树莓派系列教程一:初识大蟒蛇 python(python语言环境搭建篇)...
作者:剑若游龙微信公众号<科学是什么东东>,欢迎关注 作者微信号,欢迎与我交流 网络爬虫,人工智能,机器学习,如何让计算机理解能力更强,如 何让你手中的机器人更人性化,更聪明? 不管是大人 ...
- sublime怎么运行go_go语言环境搭建+sublime text3(windows环境下)
1.安装sublime text3 2.安装go语言程序包 3.测试go语言是否安装成功 键入cmd命令 ,打开dos窗口,键入go命令(如果在默认路径下找不到,可以在安装目录下查找,eg:go/bi ...
- Windows系统下R语言环境搭建及高级图表绘制
1.R语言环境及其编译软件下载安装: 链接:https://pan.baidu.com/s/186hjytYEqJB2kDUed0beAA 提取码:mtwh 先安装R-4.0.3-win.exe,这 ...
- 可爱鱼os go语言环境 搭建+ goland安装激活
目录 0 环境 1 参考网址 2 go环境搭建 1 下载 解压安装包 2 全局变量配置和验证 3 goland安装 配置 1 下载 解压安装包 2 添加go.desktop文件 4 激活goland ...
- 一、Go语言环境搭建
要搭建Go语言开发环境,我们第一步要下载go的开发工具包,稳定版本是v1.9,Go1.9增加了一些新特性,这里我使用1.13版本.安装包下载地址为:https://golang.google.cn/d ...
最新文章
- 知识图谱实体链接是什么?一份“由浅入深”的综述
- 华为 Java 编程军规 !
- 交换机端口与mac_address的绑定
- 获取打印机分辨率_喵喵机P2S热敏打印机,升级屏幕带来了哪些体验??
- Python3 中 sys.argv[ ]的用法解释
- android sd卡列目录文件_Android加载SD卡目录,文件夹遍历,图片设置,设置文件对应打开方式等...
- 小程序和app用什么样的服务器,小程序和APP的本质区别是什么?哪个更值得开发?...
- forever不重启 node_运维监控Prometheus,部署安全的node_exporter监控主机
- Oracle-一个中文汉字占几个字节?
- Flex-iframe在SWF中嵌入网页的组件(推荐)
- 解决 transaction-manager Attribute transaction-manager is not allowed here
- matplotlib 子图超过4个_Python数据分析:用Matplotlib可视化创建套图
- html背景视频模糊效果,怎么给竖屏视频添加模糊背景效果?
- python桌面程序臃肿_Python自动化整理文件“大升级”,任意路径下文件,都给你整理的明明白白!...
- maya中英文对照_Maya中英文对照
- 文本去重算法:Minhash/Simhash/Klongsent
- 极速版RPS选股,一秒出结果的方案是如何实现的!股票量化分析工具QTYX-V2.5.3...
- oracle学习之oracle基础
- 【bat】bat批处理安装与卸载软件,自动安装
- P3324 [SDOI2015]星际战争(洛谷刷题记录)
热门文章
- Basic--Java基本语法
- OpenGL之路(六)贴图
- 提交的时候过程很长,出现等待处理效果。
- laravel5.5 __construct函数 无法使用session() 解决方法和实例
- ps画布扩展颜色灰色不可用的原因和解决方法
- PHP中表单没有问题但是$_FILES为空的解决办法
- VS2015解决方案资源管理器空白,不显示内容
- 【实践】SimSvr在微信推荐系统中的应用实践
- BERT模型实战之多文本分类(附源码)
- 检验多重共线性matlab_异方差太难?检验通不过?横截面分析难题的十大暴击!...