Golang入门
文章目录 1.并发 1.1 创建goroutine 1.2 Go语言的协作程序(goroutine)和普通的协作程序(coroutine) 1.3 goroutine间的通信(channel) 1.3.1 使用通道发送数据 1.3.2 使用通道接收数据 1.3.3 通道的多路复用 1.4 同步(lock) 2. 反射 3. json (序列化) 1.并发 Go语言通过编译器运行时(runtime),从语言上支持了并发的特性。Go语言的并发通过goroutine特性完成。 goroutine类似于线程,但是可以根据需要创建多个goroutine并发工作。goroutine是由Go语言的运行时调度完成,而线程是由操作系统调度完成。 1.1 创建goroutine func main ( ) { go func ( ) { for i : = 0 ; i < 100 ; i ++ { fmt . Println ( "hello" , i ) } } ( ) for i : = 0 ; i < 100 ; i ++ { fmt . Println ( "nihao" , i ) } } 以上采用匿名函数的方式,也可采用函数的方式,略 1.2 Go语言的协作程序(goroutine)和普通的协作程序(coroutine) ● goroutine可能发生并行执行