为什么需要变量,变量是程序的基本组成单位。
编程语言是程序的表现形式,编程思想才是核心,而学习新的语言会有新的启发,也复习了一遍语法知识。
变量使用步骤
-
声明变量
-
给变量赋值
package main import "fmt" func main() { //定义变量 var i int //给i赋值 i = 1 fmt.Println("i=", i) }
变量=变量名+值+数据类型
数据类型
数据类型分为:
-
基本数据类型(整数类型,浮点类型,字符型,布尔型,字符串型)
-
复杂数据类型(指针,数组,结构体,管道,函数,切片,接口,map)
运算符
运算符是一种特殊的符号,用来表示数据的运算赋值和比较等。
运算符分为:算数运算符,赋值运算符,比较运算符,逻辑运算符,位运算符,其他运算符。
算术运算符注意事项:go的++和--只能写在变量后。
var i int = 1
i++
i--
++i//错误
--i//错误
程序流程控制
主要分为:顺序控制,分支控制,循环控制。
顺序控制是程序从上到下逐行地执行,中间没有判断和跳转。
分支控制是程序有选择地执行,有单分支,双分支,多分支。
循环控制是循序循环地执行。
新的语法出现是为了解决新出现的问题,或者以前的语法能解决问题,但代码繁琐易出错,不利于代码维护。
函数
为了完成某一功能的程序指令的集合,成为函数。
函数分为自定义函数,系统函数。
func 函数名 (形参列表) (返回列表值) {
执行语句
return返回列表值
}
包的作用
go以包的形式来管理文件和项目目录结构。
区分相同名字函数,变量等标识符。
控制函数,变量等访问范围。
数组
数组可以存放多个同一类型的数据。数组也是一种数据类型,是值类型。
var 数组名 [数组大小]数据类型
//定义一个数组
var i [5] int
//赋值
i [0] = 1
i [1] = 10
i [2] = 20
i [3] = 30
i [4] = 40
切片
切片是数组的一个引用,因此切片是引用类型,在进行传递时,遵循引用传递机制。
切片的长度是可以变化的,因此切片是一个可以动态变化数组。
var 切片名 []类型
func main () {
var intArr [5]int = [...]int{11, 22, 33, 44, 55}
slice := intArr[1:3]
fmt.Println("intArr=", intArr)
fmt.Println("slice的元素是", slice)
fmt.Println("slice的元素个数", len(slice))
fmt.Println("slice的容量", cap(slice))
}
map
map是key-value数据结构,又称字段或者关联数组。
var map 变量名 map[keytype]valuetype
package main
import (
"fmt"
)
func main() {
var i map [string]string
i = make(map[string]string, 10)
i["01"] = "Hello, golang"
fmt.Println(i)
}