go基本语法

本文详细介绍了Go语言的基本语法,包括变量的定义与类型、数组、slice、map、struct、常量、函数、方法、接口、并发控制及一些编程技巧。特别强调了Go的并发特性,如goroutine、channel和select的使用,以及如何通过defer处理资源释放。
摘要由CSDN通过智能技术生成

go基本语法

变量

基本类型

  1. bool默认false
  2. int以及int8int32
  3. string用双引号或反引号括起来。反引号括起来的为raw字符串,即自动转义换行等字符
  4. error错误类型

定义变量

  1. var开头,后跟变量名,再跟类型:var a int var a,b,c int var a int = b var a,b,c int = x,y,z
  2. 如果定义以后赋值可以体现类型,则可以不写类型:var a=1 var a,b = x,y
  3. 此时也可以省略vara:=1 a,b := x,y(次形式仅限用于函数体)
  4. 特殊变量_。赋值给_的值会被丢弃。如_,a := 1,2会把2赋给a,同时1被丢弃
  5. 声明未使用的变量会编译报错
  6. iota作用域内每使用一次会自增,同一行使用时值相同

数组

  1. 定义:arr:=[]int{},arr:=[10]int{1,2},arr:=[...]int{1,2,3}
  2. 获取长度:len(arr)
  3. 多维数组arr:=[...][...]int{[...]int{1},[1]int{2}}

slice

数组切片;引用类型,同一数组的slice指向同一数组;
1. 定义:var s []int(不指定长度)
1. arr:=[...]int{1,2,3}表示数组s:=arr[0:2]表示从在数组arr从0到2的切片
1. s:=arr[:2]从0到2
1. s:=arr[1:]从1到len(arr)

map

无序;引用类型;
1. 定义:var m map[string]intm:=make(map[string]int)
1. 初始化:m:=map[String]int{"a":1,"b":2}
1. 赋值:m["key"]=1

struct

struct的组合即为面向对象中的类
1. struct组合
1. 匿名字段
1. 组合struct同名字段:优先访问外层

自定义类型

type Pair map[string]int自定义一个类型

常量

const a = 1

语句

  1. 选择if
  2. 循环for

函数(面向过程的函数)

定义函数

第一行 以func开头,后跟函数名,然后小括号内参数列表,以{ 结尾,然后是函数体,最后以}结束。

函数返回值

如果需要有返回值,则在参数列表后跟小括号,括号内写返回值类型

func get()(a int,b int){
    a=1
    b=2
    return
    // 同return 1,2
}

变长参数

func get(arg ...
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值