随笔分类 - go
摘要:s := "hello," m := " world" a := s + m fmt.Printf("%s\n", a)
阅读全文
摘要:bool,string (u)int,(u)int8,(u)int16,(u)int32,(u)int64,uintptr(指针) byte,rune(字符) float32,float64,complex64(复数),complex128(复数)
阅读全文
摘要:输出 变量后面的类型可以省略。此时,可以把不同类型的变量一起初始化。 与 等效。 输出 注意:使用var 或者:=声明的变量,再次赋值时,直接赋值即可,如:b=7,不能再次使用var或者:= 以上说的都是函数内部变量,也可以在函数外部声明变量,但是必须使用var开始,且不能使用:=,因为go语言要求
阅读全文
摘要:s是空字符串,不会打印 输出 如果要打印出空字符串s,可以使用Printf 输出
阅读全文
摘要:Channels也可以用于将多个goroutine连接在一起,一个Channel的输出作为下一个Channel的输入。这种串联的Channels就是所谓的管道(pipeline)。下面的程序用两个channels将三个goroutine串联起来: 第一个goroutine是一个计数器,用于生成0、1
阅读全文
摘要:如果说goroutine是Go语言程序的并发体的话,那么channels则是它们之间的通信机制。 一个channel是一个通信机制,它可以让一个goroutine通过它给另一个goroutine发送值信息。 每个channel都有一个特殊的类型,也就是channels可发送数据的类型。一个可以发送i
阅读全文
摘要:clock服务器每一个连接都会起一个goroutine。在本节中我们会创建一个echo服务器,这个服务在每个连接中会有多个goroutine。大多数echo服务仅仅会返回他们读取到的内容,就像下面这个简单的handleConn函数所做的一样: 一个更有意思的echo服务应该模拟一个实际的echo的“
阅读全文
摘要:网络编程是并发大显身手的一个领域,由于服务器是最典型的需要同时处理很多连接的程序,这些连接一般来自于彼此独立的客户端。 本小节,我们会讲解go语言的net包,这个包提供编写一个网络客户端或者服务器程序的基本组件,通信可以是使用TCP,UDP或者Unix domain sockets。 我们的第一个例
阅读全文
摘要:Go语言中的并发程序可以用两种手段来实现。本章讲解goroutine和channel,其支持“顺序通信进程”(communicating sequential processes)或被简称为CSP。CSP是一种现代的并发编程模型,在这种编程模型中值会在不同的运行实例(goroutine)中传递,尽管
阅读全文