GO语言的特点
简介
Go语言保证了即能到达静态编译语言的安全和性能,又能达到动态语言开发维护的高效率,使用一个表达式来形容Go语言:Go = C + Python,说明Go语言既有C语言静态语言程序的运行速度,又能达到Python动态语言的快速开发.
特点
从C语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等等,也保留了和C语言一样的编译执行方式及弱化的指针
引入了包的概念,用于组织程序结构,Go语言的一个文件都要归属于一个包,而不能单独存在.
垃圾回收机制,内存自动回收
天然并发
从语言层面支持并发,实现简单
goroutime轻量级线程,可实现大并发处理,高效利用多核
基于CPS并发模型实现
吸收了管道机制,形成Go语言特有的管道channed,channed可以实现不同的goroute之间的相互通信
函数返回多个值
新的创新,比如切片,延迟执行等等.
Window下搭建Go开发环境
介绍SDK
SDK的全称为Software Development Kit (软件发开工具包)
SDK是提供给开发人员使用的,其中包含了对应的开发语言工具包
下载SDK工具包
下载地址
window下配置环境变量
环境变量的介绍
根据window系统在查找可执行程序的原理,可以将Go所在路径定义在环境变量中,让系统帮我们去找运行执行的程序这样可以在任何目录下执行go指令.
配置环境变量
Go程序开发注意事项
Go源文件以"go"为扩展名
Go应用程序的执行入口是main()函数
Go语言严格区分大小写
Go方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行的后面自动加分号)
Go编译器是一行一行进行编译的,因此我们一行就写一条语句
Go语言定义的变量或者import的包如果没有使用到,代码不能编译通过
大括号都是成对出现的
变量
使用注意事项
变量表示内存中的一个存储区域该区域有自己的名称(变量名)和类型(数据类型)
Golang变量使用的三种方式:
第一种:指定变量的类型,声明后若不赋值,使用默认值
第二种:根据值自行判断变量类型(类型推导)
第三种:省略var,注意 := 左侧的变量不应该是已经声明过的
多变量声明
该区域的数据值可以在同一类型范围内不断变化
变量在同一作用域内不可以重名
变量=变量名+值+数据类型
Go的变量如果没有赋值,编译器会使用默认值
变量声明方式
方式一:
// 一次声明多个变量的方式一
var n1, n2, n3 int
fmt.Println("n1 =", n1, "n2 =", n2, "n3 =", n3)
方式二:
// 一次声明多个变量的方式二
var n1, n2, n3 = 100, 200, "may"
fmt.Println("n1 =", n1, "n2 =", n2, "n3 =", n3)
方式三:
// 一次声明多个变量的方式三
n1, n2, n3 := 100, 200, "may"
fmt.Println("n1 =", n1, "n2 =", n2, "n3 =", n3)
全局声明:
package main
import "fmt"
var (
n1 = 100
n2 = 200
n3 = "may"
)
func main() {
fmt.Println("n1 =", n1, "n2 =", n2, "n3 =", n3)
}