前言

很早就开始听说GO这门语言了,它已高并发而出名。再加上与java大近相同.因此就准备学习一下,这里就只记录下容易遗忘的语法规则。仅此而已

关键字

image.png

语言类型

布尔型 bool
var b bool = true

数字类型
整型 int 和浮点型 float32、float64,Go 语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码

字符串类型 string

派生类型:
包括:
(a) 指针类型(Pointer)
(b) 数组类型
(c) 结构化类型(struct)
(d) Channel 类型
(e) 函数类型
(f) 切片类型
(g) 接口类型(interface)
(h) Map 类型

image.png
image.png
image.png

Go语言条件语句

这里就强调下与java不同的地方,主要是switch.Go语言中不用使用break,它会自己执行一个满足后,后面的就不会执行。如果想让后面的条件继续执行在case里使用fallthrough关键字.Go中也有一个select与switch一致

switch {
   case true:
	fmt.Println("1---true")
	fallthrough
   case true:
	fmt.Println("2----true")
}

Go语言for循环

Go语言的For循环有三种形式,只有其中的一种使用分号

//和java语言中的for一样
for i := 0, i <= 10;i++{}
//和java语言中的while一样
for condition {}
//死循环
for {}

image.png

Go语言函数

Go语言函数定义格式如下:
func function_name([parameter list]) [return_types] {
函数体
}
Go语言不一样的地方就是,他可以返回多个参数,并且可以不是相同类型.特别要注意的是,在Go语言中。变量声明后必须要使用,不然会运行报错declared but not used

package main

import "fmt"

func main() {
	y, u, i := muiltReturn(111)
	fmt.Println(y, u, i)
}

func muiltReturn(id int32) (string, int16, complex64) {
	return "年龄", 32, 1
}

Go语言函数作为实参

Go 语言可以很灵活的创建函数,并作为另外一个函数的实参。

package main

import (
"fmt",
"math"
)

func main() {
/*声明函数变量*/
getSquareRoot := func(x float32) 				float64 {
	return math.Sqrt(x)
	}
/*使用函数*/

fmt.Println(getSquareRoot(3.2))
}