Unity协程探究

Unity提供了协程来实现一定程度上的“伪并发”。

众所周知,UnityAPI只能在主线程中调用,如果我们希望通过多线程来实现多个过程的并发处理,那么如果涉及对UnityAPI的操作,则必须转到主线程去执行,比较繁琐。 MonoBehaviour.StartCoroutine可以创建一个协程(Coroutine), 在协程中可以通过yield语句暂停程序执行或者退出协程,从游戏运行的宏观角度看,它们似乎是在并行一样。

Golang基础篇-方法

函数和方法的区别

函数只是一段代码的执行过程,而方法往往会与某个类型的对象绑定。

方法是OOP的概念,在一个方法的实现中,我们可以通过特定方式访问对象的私有变量、方法,例如C类语言的this指针,Python的self等,在方法的调用过程中,对象往往被隐式传递。

Golang基础篇-异常处理

Panic是指程序遇到了(或者由程序主动发起)运行时错误,此时,程序中的函数会立即停止执行,然后执行已经defer过的函数,随后,程序输出错误日志信息,停止运行。

Golang基础篇-匿名函数

当我们定义一个函数时,例如:

1
2
3
func f(){
    statements
}

这种方式只能用在包一级,称为命名函数。这个过程相当于我们定义了一个常量f,类型为func(),并且其对应我们刚才定义的函数。 但是有些情况下这种函数定义的方式不够灵活,比如我们希望在调用函数时将某个函数作为参数传入,或者在函数返回时希望返回的是一个函数。