go经验总结

一、函数相关

1、函数定义 可变参数

必须写上参数类型

func parms2(numberList ...int) { // 这里的 ...int 是类型,不能省略
    // ...
}

函数调用

nums := []int{1, 2, 3, 4}
parms2(nums...) // 这里的 ... 不是省略类型,而是把切片展开成多个参数

2、两个特殊函数 init 和 defer

init是在main函数调用之前自动调用的且不能被其他函数调用

init的执行循序是谁在前面谁先执行  defer的执行顺序是谁在后谁先执行

package main

import "fmt"

func init() {
	fmt.Println("init - 1")
}

func init() {
	fmt.Println("init - 2")
}

func init() {
	fmt.Println("init - 3")
}

func main() {
	defer fmt.Println("defer - 1")
	defer fmt.Println("defer - 2") //defer是谁离return近谁先出来
	fmt.Println("我是main函数")
}


运行结果为
init - 1
init - 2
init - 3
我是main函数
defer - 2
defer - 1

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值