文件名&关键字&标识符
1. 所有go源码以.go结尾
2. 标识符以字母或下划线开头,大小写敏感
3. _是特殊标识符,用来忽略结果
4. 保留关键字
go程序的基本结构
1. 任何一个代码文件隶属于一个包
2. import 关键字,引用其他包:
import(“fmt”) import(“os”)
通常习惯写成:
import ( “fmt” “os” )
3. golang可执行程序,package main, 并且有且只有一个main入口函数
4. 包中函数调用:
a. 同一个包中函数,直接调用
b. 不同包中函数,通过包名+点+ 函数名进行调用
5. 包访问控制规则:
a. 大写意味着这个函数/变量是可导出的
b. 小写意味着这个函数/变量是私有的, 包外部不能访问
函数声明和注释
1, 函数声明: func 函数名字 (参数列表) (返回值列表){}
举例:
2, 注释,两种注释,单行注释: // 和多行注释 /* */
举例:
常量
1, 常量使用const 修饰,代表永远是只读的,不能修改
2. const 只能修饰boolean,number(int相关类型、浮点类型、complex)和string。
3. 语法:const identifier [type] = value,其中type可以省略。
举例:
const b string = "hello word" const b = "hello word" const Pi = 3.1415926 const a = 9/3 const c = getValue()
4,比较优雅的写法:
5, 更加专业的写法:
变量
1,语法:var identifier type
举例:
var a int var b string var c bool var d int = 8 var e string = "hello word"
举例2:
值类型和引用类型
1, 值类型:变量直接存储值,内存通常在栈中分配。
值类型:基本数据类型int、float、bool、string以及数组和struct。
2, 引用类型:变量存储的是一个地址,这个地址存储最终的值。内存通常在 堆上分配。通过GC回收。
引用类型:指针、slice、map、chan等都是引用类型。
变量的作用域
1, 在函数内部声明的变量叫做局部变量,生命周期仅限于函数内部
2, 在函数外部声明的变量叫做全局变量,生命周期作用于整个包,如果是大写的, 则作用于整个程序。
数据类型和操作符
1,
bool类型,只能存true和false
2
相关操作符, !、&&、||
3
数字类型,主要有int、int8、int16、int32、int64、uint8、uint16、uint32、uint64、float32、float64
4
类型转换,type(variable),比如:var a int=8; var b int32=int32(a)
数据类型和操作符
1, 逻辑操作符: == 、!=、<、<=、>和 >=
2, 数学操作符:+、-、*、/等等
3 字符类型:var a byte
var a byte = ‘c’
4 字符串类型: var str string
5 字符串表示两种方式: 1)双引号 2)`` (反引号)