可执行文件路径为 $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类型转换必须是显式的
类型转换只能发生在两种兼容类型之间
类型转换格式 <变量名称> [:]= <目标类型>
变量为大写字母开头的 是公用变量,可被其他包读取调用
变量为小写字母开头的 为私有变量,只能被当前包使用