千里之行,始于足下
一个人无论身在何地,也无论现在抑或未来从事什么样的行业,如果最终想要在其中占据一席之地,那最起码的要求是必须具备本行业的基础技能。通俗而言:“没有那金刚转,就别拦那瓷器活”。 如果没有揽瓷器活的本领,却硬着头皮强揽瓷器活,到头来不但活没有干好,说不定还得赔偿别人家一大笔损失。总的来讲不论是学生时代的学习竞争还是毕业出社会后的工作岗位要求,变化的是不同角色带来的责任要求,不变的是每个角色的使命要求。学生时代一旦某一门课程的基础没有打夯实,最终的结果不是考试得低分就是在高考这样的重要命运选择的十字路口错失改变命运的机会,走向工作岗位之后,如果还是没有将基本的技能技巧夯实掌握,一味的浑水摸鱼,随着时间的推移,那么可能未来的职业生涯中大概率也不会有多大的起伏。学生时代的考试或许还可以靠运气猜出答案,但踏入职场之后的职业生涯来不得半点猜疑。与其将自己的命运托付到命运之神的手中,倒不如干脆胜天半子,在自己能力范围内,最大限度的掌握在自己手中。合抱之木,生于毫末,九层之台,起于垒土,来吧,跟着go的步伐来吧。
go语言基础
1、go语言的标识符
程序一般是有关键字、常量、变量、运算符、类型、函数组成,而标识符是用来表示以上这些变量的唯一字符,通常由数字、字母、下划线组成,但不能以数字开头。
2、go语言中的关键字或保留字
| break | default | func | interface | select |
| case | defer | go | map | struct |
| chan | else | goto | package | switch |
| const | for | import | return | var |
3、预定义标识符和内置函数
| append | bool | byte | cap | close | complex | complex64 | complex128 | uint16 | |
| copy | false | float32 | float64 | imag | int | int8 | int16 | uint16 | uint32 |
| int32 | int64 | iota | len | make | new | nil | panic | uint64 | |
| println | real | recover | string | true | uint | uint8 | uintptr |
基本数据类型
1、常量
定义:使用const定义,表示值不会改变的数据,只能用于常量的数据类型有:布尔型、整数型、复数和字符类型
- 常量声明方式一
const Pi = 3.1415926
- 常量声明方式二
const (
Sunday = iota
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
)
2、变量
定义:值可以变化的称之为变量,go语言中的变量使用关键字var修饰,但与其它语言不同,go语言中变量的类型被放在变量的之后。
- 变量声明方式一(常用于局部变量)
var a, b *int
var a int
var b bool
var str string
- 变量声明方式二(常用于全局变量)
var (
a int
b bool
str string
)
- 变量声明方式三(简短命名)
a := 1
3、数据类型分类
- 布尔型
布尔类型的值只有常量true和false两种
- 数字类型(细分为整形和浮点型)
整形:int8、int16、int32、int64 无符号整形:uint8、uint16、uint32、uint64
- 浮点型
浮点型:float32、float64
- 复数
复数:complex64、complex128
- 字符串
字符串是一种值类型,值不可变,使用""包裹
运算符与优先级
1、位运算符
位运算只能用于整数类型的变量,且需当它们拥有等长位模式时
- 按位与&
- 按位或 |
- 按位异或 ^
2、一元运算符
- 位左移 <<
- 位右移 >>
3、逻辑运算符
- 等于==
- 不等于!=
- <、<=、>、>=
4、算数运算符
+、-、* 和 /。