可执行文件路径为 $GOPATH/bin
1,保留关键字
| break | default | func | interface | select |
| case | defer | go | map | struct |
| chan | else | goto | package | switch |
| const | fallthrough | if | range | type |
| continue | for | import | return | var |
2, 预定的标识符,包括基础数据类型和系统内嵌函数。
| append | bool | byte | cap | close | complex |
| complex64 | complex128 | uint16 | copy | false | float32 |
| float64 | imag | int | int8 | int16 | uint32 |
| int32 | int64 | iota | len | make | new |
| nil | panic | uint64 | println | real | |
| recover | string | true | uint | uint8 | uintprt |
3,内嵌数据类型
Boolean类型:
系统为此类型定义了两个常量:true 和 false.
初始默认值为:false。
格式化输出时的格式字符串为:%t。
实例代码:
image
输出结果为:
Byte类型:
数字类型:
有符号整数:int8, int16, int32, int64和int(此类型会根据特定的平台可能会有所不同)
无符号整数:uint8, uint16, uint32, uint64和uint (此类型会根据特定的平台可能会有所不同)
初始默认值为:0。
格式化输出时的格式字符串为:%d,输出16进制:%x或%X;8进制:%o。
实例代码:
image
输出结果为:
i8=9, i=27, ui32=30, ui64=40, defInt=0
i8=11, i=1b, ui32=1E, ui64=101000
The value=27, The Address=0x117d0238
初始默认值为:0.0。
注意:这里没有float的类型,且两个浮点数比较时不能使用== 和 !=
格式化输出时的格式字符串为:%g,%f则对应浮点类型的指针;%e则对应科学计数法办输出;%n.mg用于指定小数位输出。
实例代码:
image
输出结果:
complex64:实数与虚数都是32位
complex128: 实数与虚数都是64位
real(c):获取实数部分
imag(c):获取虚数部分
格式化输出时的格式字符串为:%v, 另外也可以使用%f输出实部和虚部。
实例代码:
image
输出结果:
字符类型:
字符串类型:
指针类型:
全局变量
在func 之外
局部变量
在func之内
package main
// 程序所属包
import "fmt"
//导入依赖包
const NAME string = "SoulMO"
//定义常量
var a string = "Golang学习"
//声明全局变量及赋值
type GoLearntInt int
//一般类型声明
type Learn struct{
}
//结构体声明
type ILearn interface {
}
//声明接口
func GoLearn() {
fmt.Println(a,"learn Golang")
}
//定义函数
func main() {
GoLearn();
fmt.Println(a,"Hello ~")
}
// main函数
1, package
package 包名为当前文件夹名,避免混淆
2,import
import根据顺序导入
函数名必须大写开头
3类型零值
值类型 默认为 0
布尔类型 默认为 false
string 默认为 空字符串
3,参数声明初始化及赋值
变量声明格式
var <变量名称> [变量类型]
变量赋值格式
<变量名称> = <值,表达式,函数等>
变量声明并赋值格式
var <变量名称> [变量类型] = <值,表达式,函数等>
分组声明格式
var( i int j float32 name string )
单行 声明多个变量和赋值
var a, b, c int = 1, 2, 3 或者
a, b := 1, 2
全局变量声明必须用var,局部变量可省略
特殊变量 下划线“_”;
若将值赋给 “_” 则代表 值被销毁,接下来的操作将无法调用该值
go类型转换必须是显式的
类型转换只能发生在两种兼容类型之间
类型转换格式 <变量名称> [:]= <目标类型>
变量为大写字母开头的 是公用变量,可被其他包读取调用
变量为小写字母开头的 为私有变量,只能被当前包使用