GO语言学习
GO语言的特点
保证了既能达到静态编译语言的安全和性能又达到了动态语言开发维护的高效率。Go = C + Python 说明GO语言既有C静态语言程序的运行速度,又能达到Python动态语言的快速开发
- 继承C语言很多理念
- 引入包的概念, 用于组织程序结构,Go语言的一个文件都要归属于一个包,而不能单独存在;
- 引入垃圾回收机制 ,内存自动回收,不需要开发人员管理;
- 天然的并发:
1)从语言层面支持并发,实现简单;
2)goroutine,轻量级线程,可实现大并发处理,高效利用多核;
3)基于CPS并发模型实现 - 吸收管导通新机制;
- 函数支持返回多个值;
Windows环境下搭建Go开发环境-安装和配置SDK软件开发工具包
合理的创建标题,有助于目录的生成
直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC
语法后生成一个完美的目录。
如何改变文本的样式
强调文本 强调文本
加粗文本 加粗文本
标记文本
删除文本
引用文本
H2O is是液体。
210 运算结果是 1024.
插入链接与图片
链接: link.
图片:
带尺寸的图片:
居中的图片:
居中并且带尺寸的图片:
当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。
Go程序开发注意事项
- Go源文件以"go"为扩展名
- Go应用程序的执行入口是main函数
- Go语言严格区分大小写
- Go方法由一条条语句构成,每个语句后面不需要分号
- Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一行,否则会报错
- Go语言定义的变量或者import的包如果没有使用到,代码就不能编译通过
- 大括号成对出现,缺一不可
Go语言转义字符
规范的代码风格
- 正确的注释和注释风格
- 官方推荐使用行注释来住是整个方法和语句
- 正确的缩进和空白
- 使用一次Tab操作,实现缩进,默认整体向右移动,shift+tab,整体左移
- 运算符两边习惯性各加一个空格
- 代码风格
补充:DOS的常用指令
- 基本介绍:Disk Operating System 磁盘操作系统
- 绝对路径:从当前盘最上面开始定位
- 相对路径:从当前位置开始定位去找对应目录
- dir 查看当前目录下的目录和文件
- e: 切换到e盘,不区分大小写
- cd … 回到上级目录
- cd / 回到根目录
- md <目录名> <目录名> 新建目录
- rd <目录名> <目录名> 删除空目录,若该目录下有内容则删除不成功
- rd /s <目录名> 询问后强制删除
- echo hello > D:\Program Files\test02\abc.txt 新建或追加文件
- copy 拷贝
- 剪切
- cls 清屏
变量的使用
-
指定变量类型,声明后若不赋值,使用默认值
var i int fmt.Println("i =", i)
-
根据值自行判断变量类型
var i = 10.11 fmt.Println("i =", i) ```
-
省略var,注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误,下面方式等价于var name string name = “tom”
name := "tom" fmt.Println("name =", name)
-
多变量声明
var n1, n2, n3 int fmt.Println(n1, n2, n3)
-
多变量声明2
var n1, n2, n3 = 1, "tom", 888 fmt.Println(n1, n2, n3)
-
多变量声明3
n1, n2, n3 := 1, "tom", 888 fmt.Println(n1, n2, n3)
-
全局变量声明
package main import "fmt" // 定义全局变量 var n1 = 100 var n2 = 200 var name1 = "tom" // 也可改成一次性声明 var ( n3 = 300 n4 = 400 name2 = "mary" ) func main() { fmt.Println(n1, n2, name1) fmt.Println(n3, n4, name2) }
-
变量使用的注意事项
- 该区域的数据值可以在同一类型范围内不断变化
- 变量在同一个作用域内不能重名
- 变量 = 变量名 + 值 + 数据类型
- Golang的变量如果没有赋初值,编译器会使用默认值,int的默认值是0,string的默认值是空串