###### GO介绍##### # Go 即Golang,是Google公司2009年11月正式对外公开的一门编程语言 # Go是静态强类型语言,是区别于解析型语言的编译型语言(静态:是否需要编译 强类型:不同类型不允许直接运算)。 # python 是动态强类型:不需要编译,不同类型不允许直接运算 # js 动态弱类型 解析型语言——源代码是先翻译为中间代码,然后由解析器对代码进行解释执行。 编译型语言——源代码编译生成机器语言,然后由机器直接执行机器码即可执行。 # 跨平台的编译型语言:交叉编译 ##### 常见编程语言比较######### -编译型: -java: -jdk:java集成开发环境---》java开发需要用它---》好多公司运行java,也装 -jre:java 运行环境,java程序运行,需要装 -jvm:java虚拟机,java--》源代码---》字节码--》运行在jvm上 -java源代码---》编译后---》不是可执行文件---》字节码文件,jar,war包---》运行在jvm上 -编译型语言--》跟传统编译型语言有区别 -sun公司---》甲骨文--》oracle -mysql免费开源软件---》oracle投资了,买了它 -安卓开发需要java---》 -go:编译后--->直接是可执行文件--->交叉编译--》跨平台编译 ----------以下都是 需要在不同平台编译----------- -c -C++ -C# -解释型:---》无论开发还是运行---》都需要解释器 -python:pipinstaller:https://zhuanlan.zhihu.com/p/430490285 -php -nodejs -。。。 # 如何保证python代码安全 -1 打包成可执行文件 部署 -2 把源码做到docker中 -3 项目运行起来,源代码删除 # go 发展历史 2009年11月7日 weekly.2009-11-06 —— 早期的版本 2012年3月28日 go1 —— 稳定版版的发布 2015年8月19日 go1.5 —— 实现的架构变化,同时保留了和旧版本的兼容性,本次更新中移除了”最后残余的C代码”。---》编程语言自举 2020 年 2 月 go 1.14— — 现在 Go Module -包管理 # Go语言简单易学,天生支持并发,完美契合当下高并发的互联网生态
开发环境搭建
装俩东西 - go sdk:https://golang.google.cn/dl/ -1.22.1 版本 -一路下一步--》装好---》不需要配置环境变量 -打开cmd -输入 go version -IDE集成开发工具 -Goland: -vscode
第一个helloworld
# 使用goland创建项目 -go.mod # 等同于 package.json, requirements.txt pom.xml // 声明当前文件属于哪个包,改成main 包 // 1 重点:go程序要运行,必须有个main包,入口是main函数 package main // 2 导入fmt包---》打印函数在这个包下 import "fmt" // 3 函数 func main() { // 4 打印hello world fmt.Println("hello world") } // 5 运行项目几种方式 /* 1 go build go文件---》成可执行文件---》运行可执行文件 2 右键---》运行 3 main函数上点 绿色箭头 4 使用命令:go run demo01.go 编译并运行 */
命名规范
# 一 变量定义规范 Go语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则: # 1 以一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线 # 2 大写字母和小写字母是不同的:Name和name是两个不同的变量 # 3 关键字和保留字都不建议用作变量名 # 二 关键字 Go语言中关键字有25个;关键字不能用于自定义名字,只能在特定语法结构中使用。 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var # 三 保留字 go语言中有37个保留字,主要对应内建的常量、类型和函数 内建常量: true false iota nil 内建类型: int int8 int16 int32 int64 uint uint8 uint16 uint32 uint64 uintptr float32 float64 complex128 complex64 bool byte rune string error 内建函数: make len cap new append copy close delete complex real imag panic recover # 四 注意 -这些保留字并不是关键字,可以在定义中重新使用它们。在一些特殊的场景中重新定义它们也是有意义的,但是也要注意避免过度而引起语义混乱 -变量定义使用驼峰 go:AgeOfPerson python:age_of_person java:驼峰 -go 文件名 -python :下划线 -go:下划线 -java:驼峰
标签:java,语言,编译,--,介绍,---,go,GO From: https://www.cnblogs.com/wzh366/p/18108699