【 声明:版权所有,欢迎转载,请勿用于商业用途。  联系信箱:feixiaoxing @163.com】

其实有了上一篇的基本语法,我们就可以做一些简单的事情,比如说文件服务器。或许大家有点不相信,没关系。下面开始用代码来说明问题,其实整个代码的内容不会超过十行。

package mainimport "net/http"func main() {h := http.FileServer(http.Dir("/home"))http.ListenAndServe(":8888", h)}

有了上面的代码,直接输入go run share.go。说了这么多,大家可以继续看go语言下的高级应用是怎么使用的。

(1)并发运行

package mainimport "fmt"
import "time"func show() {for {fmt.Print("child ");time.Sleep(10000)}
}func main() {go show()for {fmt.Print("parent ")time.Sleep(10000)}
}

(2)channel通信

package mainimport "fmt"func show(c chan int) {for {data := <- cif 1 == data {fmt.Print("receive ")}}
}func main() {c := make(chan int)go show(c)for {c <- 1fmt.Print("send ")}
}

(3) 多channel访问

package mainimport "fmt"
import "time"func fibonacci(c, quit chan int) {x, y := 1, 1for {select {case c <- x:x, y = y, x+ycase <- quit:fmt.Println("quit")return}}
}func show(c, quit chan int) {for i := 0; i < 10; i ++ {fmt.Println(<- c)}quit <- 0}func main() {data := make(chan int)leave := make(chan int)go show(data, leave)go fibonacci(data, leave)for {time.Sleep(100)}}

神奇的go语言(高级应用)相关推荐

  1. Go 学习推荐 —(Go by example 中文版、Go 构建 Web 应用、Go 学习笔记、Golang常见错误、Go 语言四十二章经、Go 语言高级编程)

    Go by example 中文版 Go 构建 Web 应用 Go 学习笔记:无痕 Go 标准库中文文档 Golang开发新手常犯的50个错误 50 Shades of Go: Traps, Gotc ...

  2. 鼠标绘图 c语言,c语言高级编程技术教程 图形显示方式与鼠标输入.doc

    c语言高级编程技术教程 图形显示方式与鼠标输入 c语言高级编程技术教程 图形显示方式和鼠标输入 图形显示方式和鼠标输入 问题的提出编写程序,使用鼠标进行如下操作:按住鼠标器的任意键并移动,十字光 标将 ...

  3. 易语言mysql清空一个表_易语言高级表格清空.doc

    易语言高级表格清空 篇一:表格高级实用实解 1.编辑技巧 2.单元格内容的合并 3.条件显示 4.自定义格式 5.绘制函数图象 6.自定义函数 7.矩阵计算 8.自动切换输入法 9.批量删除空行 10 ...

  4. c语言高级程序设计第五版PDF,C语言高级编程.pdf

    C语言高级编程 概述 由几个测试程序说开去 预编译与宏 高级预编译介绍 宏的高级用法 变量 变量分类详细解析 我的变量去哪儿了? 大小端对变量的影响 内存与指针 常见内存使用错误大观 指针,又是指针! ...

  5. 高级编程中C语言属于,c语言高级编程

    c语言高级编程 C高级编程 责任编辑:admin 更新日期:2005-8-6 深入了解C语言(函数的参数传递和函数使用参数的方法) tangl_99(原作) 关键字 C语言,汇编,代码生成,编译器 C ...

  6. C语言高级教程-C语言数组(六):变长数组

    C语言高级教程-C语言数组(六):变长数组 一.本文的编译环境 二.一维数组在执行期间确定长度 三.二维数组在执行期间确定长度 四.一维变长数组实例 五.完整程序 5.1 Main.h 文件程序 5. ...

  7. C语言高级教程-C语言数组(三)

    C语言高级教程之数组教程 本文的编译环境 一.前文:C语言数组(一.二)的链接 1.1.C语言数组一文章链接 1.2.C语言数组二文章链接 二.数组的初始化 2.1.数组的初始化的几种方式 三.数组和 ...

  8. c语言比其他语言都高级,9.以下说法中正确的是( ) a.C语言比其他语言高级 b.C语言不用编译就能被计算机执行 c.C语言以接近英语国...

    选项选择c.C语言是一门通用计算机编程语言,应用广泛.从语言角度没有准确的标准说比其他语言高级. C语言要经过编译才能运行. JAVA语言比C语言更晚. 所以上面答案有C合理 C语言的设计目标是 提供 ...

  9. ElasticSearch DSL语言高级查询+SpringBoot

    1 环境准备 1.1 Es数据准备 https://gitee.com/zhurongsheng/elasticsearch-data/blob/master/es.data 描述: 执行后查看结果. ...

  10. bnu1209 1--0的神奇游戏 C语言版

    北京师范大学珠海分校 Judge Online of ACM ICPC 1209 1-->0的神奇游戏 C语言版 #include <stdio.h> int main(){ int ...

最新文章

  1. Chrome浏览器偶尔提示错误net::ERR_EMPTY_RESPONSE的解决方法
  2. 6.1 Tensorflow笔记(基础篇):队列与线程
  3. 混淆视听的感脚(二)
  4. 使用postman发送HttpServletRequest请求
  5. 解决vs2019中暂时无法为.net core WinForms使用 Designer 的临时方法
  6. 安装mysql时出现的缺少msvcr120.dll和msvcp120.dll问题的解决方案
  7. Ubuntu 16.04 LTS安装Docker并使用加速器
  8. ******2:***常用工具排行榜-《百晓生兵器谱》
  9. APP通用测试用例~易用性
  10. ipxspx协议linux,win7\win10 IPX协议自动安装器
  11. SDK学院--易接网游SDK中间件接入使用说明-Unity3D游戏接口
  12. mongo异常无法启动-处理方法
  13. java 水晶报表_水晶报表-crystal report
  14. python爬虫-《笔趣看》网小说《悟空看私聊》
  15. 关于1KB病毒的清除
  16. Hotpot - 让使用CKettle像吃火锅一样爽
  17. 简述你对人工智能未来发展的看法?
  18. 阿里巴巴年度技术总结 - 人工智能在搜索的应用和实践
  19. Excel中IF函数的使用
  20. Linux 系统安全应用

热门文章

  1. MySQL千万级访问量架构(转)
  2. POJ 3168 排序+扫描
  3. Innodb中自增长值的列
  4. VS2012 ffmpeg 没有定义的lrint
  5. Citrix 客户端登录出现wfshell.exe - 应用程序错误的解决方法
  6. spatial Statistics
  7. SSM框架使用遇到的问题
  8. gm(GraphicsMagick)图片中文水印乱码问题
  9. air写文件 SecurityError: fileWriteResource 时报错的解决方法
  10. 枚举进程ID并且获得进程路径