Golang 入门杂记
Last updated on
变量的定义和使用
// 声明和定义
// var 变量名 数据类型
// 布尔类型 整型 浮点型 字符型 字符串类型
// bool int float64
var a int // 如果没有初始值,默认值为0
a=10
// 自动推导类型,根据赋值为变量声明类型,可以是表达式
b := 3.1415926
c := 3.1415 * 8
// 不同的数据类型是不可以进行计算,需要使用类型转换
数组
## 声明数组
多重赋值
a,b,c,d := 10,20,30,40
// 交换赋值
a,b = b,a
占位符
fmt.printf("%d", a)
fmt.printf("%f", b)
枚举
//
package main
import "fmt"
func main(){
const(
a=iota
b,c=iota,iota
d,e
)
fmt.Println(a)
fmt.Println(b)
fmt.Println(c)
fmt.Println(d)
fmt.Println(e)
}
运算
// 运算符
// / % * + -
// ++ 后自增,没有前自增 a=0; a++
// -- 后自减,没有前自减 a=0; a--
package main
import "fmt"
func main(
// 整型数据相除结果为整型
a:=10
b:=20
c:=a/b
fmt.Println(c)
)
类型转换
package main
import "fmt"
func main{
a:=10
b:=3.14
c:=float64(a)*b
fmt.Println(c)
}
赋值运算
// = += -= *= /= %=
关系运算符
// == != > < >= <=
逻辑运算符
// ! && ||
其它运算符
// & 取地址运算符 &a 变量a的地址
// * 取值运算符
package main
import "fmt"
func main{
}
IF
package main
import "fmt"
func main{
if score >700{
fmt.Println("清华")
}else{
fmt.Println("回家")
}
}
Switch
// 分支语句
package main
import "fmt"
func main{
switch var1 {
case val1:
...
case val2:
...
default:
...
}
}
For
package main
import "fmt"
func main{
var i int
for i=1; i<=10;i++{
fmt.Println(i)
if i==5{
break
}
}
}
函数
// 函数定义
// func 函数名(函数参数列表) {
}
// 不定参函数
func test(args ...int) {
fmt.println(args)
for i=0; i<=len(args); i++ {
fmt.println(args[i])
}
}
函数类型
package main
import "fmt"
type FUNCTYPE1 func()
type FUNCTYPE2 func(int, int)
type FUNCTYPE3 func(int, int)int
func main() {
//定义函数类型变量
var f FUNCTYPE1
}
匿名函数
// 在函数内部定义一个函数
package main
import "fmt"
func main{
a:=10
b:=20
func (a int, b int){
fmt.Println(a+b)
}(a,b)
}
数组置换
package main
import "fmt"
func main {
array := [10]int{1,2,3,4,5,6,7,8,9,10}
start:=0
end:=len(array) - 1
for {
if (start>end) {
break
}
array[start],array[end]=array[end],array[start]
start++
end--
}
fmt.Println(arr)
}
闭包
package main
import "fmt"
func test2() func() int{
var a int
return func() int{
a++
return a
}
}
func main{
f:=test2()
for i:=0,i<=10,i++{
fmt.Println(f())
}
}
Print,printf,println
Printf- “Print Formatter” this function allows you to format numbers, variables and strings into the first string parameter you give itPrint- “Print” This cannot format anything, it simply takes a string and print itPrintln- “Print Line” same thing asPrintf()however it will append a newline character\n
匿名字段
嵌入字段
结构体中引用了另外一个结构体