go基本语法

74 阅读2分钟

为什么需要变量,变量是程序的基本组成单位。

编程语言是程序的表现形式,编程思想才是核心,而学习新的语言会有新的启发,也复习了一遍语法知识。

变量使用步骤

  1. 声明变量

  2. 给变量赋值

    package main import "fmt" func main() { //定义变量 var i int //给i赋值 i = 1 fmt.Println("i=", i) }

变量=变量名+值+数据类型

数据类型

数据类型分为:

  1. 基本数据类型(整数类型,浮点类型,字符型,布尔型,字符串型)

  2. 复杂数据类型(指针,数组,结构体,管道,函数,切片,接口,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)
}