这里我们只需要暂时先关注goroutine,通过go function(args)启动一个独立运行的goroutine。三个字符’g’ ‘o’ ‘ ’就能启动一个goroutine。很难做到比这更简单的了。和gc机制一样,将编程人员需要关心的东西最小化。栈的大小,返回值和完成状态,线程 ID等都不用关心。虽然goroutine的实现很复杂,依赖于gc机制和栈管理,但是编程人员不用关心这些,只需要go就能启动一个goroutine。
接口接口仅仅是方法的集合,没有数据。很简单的想法。
type Reader interface { Read([]byte)(int, error) } var r Reader = os.Stdin //静态检查 var x interface{} = os.Stdin //静态检查 r = x.(Reader) //动态检查,一定要是精准断言,否则会panic