学习笔记之初识go语言

1、初识GO语言

Go是一门开放源码的编程语言,可容易的构建简单、可靠和高效的软件,好处多多总结为:易于开发、快速编译、高效执行(貌似每种语言都这么说哈哈哈)

2、环境安装

过于简单这里就不说了,没梯子的请设置proxy

3、第一个Go程序

运行: go run hello.go

/*
    1:Go源文件以package声明开头,说明源文件所属的包;
    2:使用import导入依赖的包;
    3:打印hello,world
    
*/
package main

import "fmt"

func main(){
    fmt.Println("Hello World")
}

4、基本组成元素

4.1、标识符

标识符是编程时所使用的名字,用于给变量、常量、函数、类型、接口、包名 等进行命名,以建立名称和使用之间的关系。

4.1.1、Go语言标识符命名规则

1. 只能由非空字母(Unicode)、数字、下划线(_)组成
2. 只能以字母或下划线开头
3. 不能Go语言关键字
4. 建议使用驼峰式
5. 避免使用内置的标识符
5. 标识符区分大小写

4.1.2、内置常量

true、false、nil、iota

4.1.3、内置类型

bool、byte、rune、int、int8、int16、int32、int64、uint、uint8、unit16、 unit32、unit64、uintptr、float32、float64、complex64、complex128、string、error

4.1.4、内置函数

make、len、cap、new、append、copy、close、delete、complex、real、 imag、panic、recover

4.1.5、空白标识符

_

4.2、关键字

用于特定的语法结构(定义的有25个)

4.2.1、声明

import 、package等等

4.2.2、实体声明和定义

char、const、func、interface、map、struct、type、var

4.2.3、流程控制

break、case、continue、default、defer、else、fallthrough、 for、go、goto、if、range、return、select、switch

4.2.4、操作符

每种语言基本上都是这些操作符

算术运算符:+、-、、/、%、++、– 关系运算符:>、>=、<、<=、==、!= 逻辑运算符:&&、||、! 位运算符:&、|、^、«、»、&^ 赋值运算符:=、+=、-=、=、/=、%=、&=、|=、^=、«=、»= 其他运算符:&(单目)、*(单目)、.(点)、-(单目)、…、<-

5、基础知识1

5.1、声明

声明语句用于定义程序的各种实体对象,主要有:

声明变量的var
    
声明常量的const
    
声明函数的func
    
声明类型的type

5.2、变量

变量是指对一块存储空间定义名称,通过名称对存储空间的内容进行访问或修改,使用var进行变 量声明,常用的语法有

1、var 变量名 变量类型 = 值 定义变量并进行初始化,例如:var name string = "silence"

2、var 变量名 变量类型 定义变量使用零值进行初始化,例如:var age int

3、var 变量名 = 值 定义变量,变量类型通过值类型进行推导 例如: var isBoy = true

4、var 变量名1, 变量名2 , …, 变量名n 变量类型 定义多个相同类型的变量并使用零值进行初始化 例如:var prefix, suffix string

5、var 变量名1, 变量名2 , …, 变量名n 变量类型 = 值1, 值2, …, 值n 定义多个相同类型的变量并使用对应的值进行初始化,例如:var prev, next int = 3, 4

6、var 变量名1, 变量名2 , …, 变量名n = 值1, 值2, …, 值n 定义多个变量并使用对应的值进行初始化,变量的类型使用值类型进行推导,类型可不相同, 例如:var name, age = "silence", 30

7、批量定义
var (
    变量名1 变量类型1 = 值1
    变量名2 变量类型2 = 值2
)
定义多个变量并进行初始化,批量复制中变量类型 可省略。例如: 
var (
    name string = "silence“
    age int = 30
)

5.3、常量

和变量定义方法类似,用于定义不可被修改的的值,只能为基础的数据 类型布尔、数值、字符串,使用const进行常量声明

const(
    name string = "zhangsan"
    desc
)
desc 的值也为zhangsan、类型也为string

5.4、作用域

作用域指变量可以使用范围。go语言使用{}大括号显示的标识作用域范围,大括号内包含 一连串的语句,叫做语句块。语句块可以嵌 套,语句块内定义的变量不能在语句块外使用,作用域内定义变量只能被声明一次且变量必须使用,否则编译错误。在不同作用域可定义相同的变量,此时局部将覆盖全局

5.5、注释

Go支持两种注释方式,行注释和块注释:

行注释:以//开头,例如: //我是行注释

块注释:以/*开头,以*/结尾,例如:/*我是块注释*/