Go 语言保证了既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容 Go 语言:Go = C + Python , 说明 Go 语言既有 C 静态语言程序的运行速度,又能达到 Python 动态语言的快速开发。
1)扩展C语音中的概念其中包括了表达式语法,控制结构,基础数据类型,调用参数传值,指针等等,也保留了和 C 语言一样的编译执行方式及弱化的指针。
案例:
func testPtr(num *int) {
*num = 22
}
2)引入包的概念,用于组织程序结构,Go 语言的一个文件都要归属于一个包,而不能单独存在
3)垃圾回收机制,内存自动回收,不需开发人员管理
4)说到go最直截了当就是天然的并发
(1)语言层面上支持的比较简单。
(2)goroutine,比较轻量级线程,可以实现大并发处理,高效的使用多核。
(3)并发的开发模型是CPS实现。
5)包含了管道通信机制,形成go语言特有的管道可以通过goroute之间相互的通信
6)函数可以返回多个值,这个很lua 的语法非常相似
//go语音的函数支持返回多个返回值
func getMoreReturn(a1 int,a2 int)(int,int){
n:=a1 + a2
m:=a1 – a2
return n,m
}
7)创新方法,切片slice,延迟执行defer等
接下来的开发我还是选择visual studio code,因为在平时的开发项目都是经常使用的,所以文本编辑器还是vs code 后续再选择使用Eclipse IDE开发。
最头疼的就是每次的语言环境搭建,接下来还是耐心的完成吧。
go不是内部命令,也不是可运行的程序
原因:当前执行的程序在当前目录下如果不存在,windows系统中已有的一个名为path的环境变量中查找。所以在进入到go安装路径bin目录下,执行go会看到提示信息。环境变量测试运行,这样就配置好了
代码书写如下
说明
go 文件的后缀是 .gopackage main表示该 hello.go 文件所在的包是 main, 在 go 中,每个文件都必须归属于一个包
import “fmt”表示:引入一个包,包名 fmt, 引入该包后,就可以使用 fmt 包的函数,比如:fmt.Println
func main () {}
func 是一个关键字,表示一个函数。
main 是函数名,是一个主函数,即我们程序的入口
fmt.Println(“hello”表示调用 fmt 包的函数 Println 输出 “hello,world”
通过go build 命令对该go 文件进行编译,生成exe文件运行hello.exe注意:通过 go run 命令可以直接运行 hello.go 程序 [类似执行一个脚本文件的形式]1)t : 表示一个制表符,通常使用它可以排版
2)\n :换行符
3)\\ :一个\
4)\" :一个"
5)\r :一个回车 fmt.Println("天龙八部雪山飞狐\r 张飞");
学习编程最容易犯的错是语法错误 。Go 要求你必须按照语法规则编写代码。如果你的程序违反了
语法规则,例如:忘记了大括号、引号,或者拼错了单词,Go 编译器都会报语法错误,要求:尝试着去看懂编译器会报告的错误信息
1)用于注解说明解释程序的文字就是注释,注释提高了代码的阅读性
2)注释语法,行 //
3)/* 内容 */
4)使用细节
(1)对于行注释和块注释,被注释的文字,不会被 Go 编译器执行
(2)块注释里面不允许有块注释嵌套 [注意一下]
1)正确的注释和注释风格
(1)Go 官方推荐使用行注释来注释整个方法和语句
(2)带看 Go 源码
2)正确的缩进和空白
(1)使用一次 tab 操作,实现缩进,默认整体向右边移动,时候用 shift+tab 整体向左移看老师的演示
(2)或者使用 gofmt 来进行格式化
1)API (Application Programming Interface,应用程序编程接口)是 Golang 提供的基 本编程接口
2)Go 语言提供了大量的标准库,因此 google 公司 也为这些标准库提供了相应的 API 文档,用于告诉开发者如何使用这些标准库,以及标准库包含的方法
3)Golang 中文网 在线标准库文档: https://studygolang.com/pkgdoc
Golang 的包和源文件和函数的关系简图有一个离线版的 Golang_Manual_By_AstaXie_20120522.chm1)变量表示内存中的一个存储区域
2)该区域有自己的名称(变量名)和类型(数据类型)
3)Golang 变量使用的三种方式
(1)第一种:指定变量类型,声明后若不赋值,使用默认值
(2)第二种:根据值自行判定变量类型(类型推导)
(3)第三种:省略 var, 注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误
多变量声明,在编程中,有时我们需要一次性声明多个变量,Golang 也提供这样的语法该区域的数据值可以在同一类型范围内不断变化(重点)变量在同一个作用域(在一个函数或者在代码块)内不能重名变量=变量名+值+数据类型,这一点请大家注意,变量的三要素Golang 的变量如果没有赋初值,编译器会使用默认值, 比如 int 默认值 0 string 默认值为空串,小数默认为 01)当左右两边都是数值型时,则做加法运算
2)当左右两边都是字符串,则做字符串拼接
1)整数各个类型
整数类型的细节Golang 各整数类型分:有符号和无符号,int uint 的大小和系统有关Golang 的整型默认声明为 int 型如何在程序查看某个变量的字节大小和数据类型 (使用较多)Golang 程序中整型变量在使用时,遵守保小不保大的原则,即:在保证程序正确运行下,尽量使用占用空间小的数据类型。【如:年龄】it: 计算机中的最小存储单位。byte:计算机中基本存储单元。[二进制再详细说] 1byte = 8 bit1)小数类型介绍
(1)关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位
说明:浮点数都是有符号的.
(2)尾数部分可能丢失,造成精度损失。 -123.0000901
未完待续…..
免责声明:本站所有内容及图片均采集来源于网络,并无商业使用,如若侵权请联系删除。
上一篇:阿里企业邮箱使用指南(快速入门)
下一篇:Go语言专题之Go语言介绍(一)