×
思维导图备注
《Mastering GO》中文译本,玩转 GO
首页
白天
夜间
小程序
阅读
书签
我的书签
添加书签
移除书签
02.5 C中调用Go函数
来源:hantmac
浏览
1058
扫码
分享
2020-12-16 21:05:48
C代码中调用Go函数
C代码中调用Go函数
在C中可以调用Go函数,接下来,呈现两个C语言的例子,在这两个例子中,调用了两个Go函数,其中Go package将会被转换成这两个C程序的共享库。
当前内容版权归
hantmac
或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问
hantmac
.
上一篇:
下一篇:
介绍
0 前言
00.1 前言
00.2 面向读者
00.3 章节概览
00.4 更多信息
00.4.1 代码规范约定
1 Go与操作系统
01.1 本书结构
01.2 Go的历史
01.3 为什么是Go
01.4 Go的优点
01.4.1 Go是完美的么
2 Go内部机制
02.1 本章概述
02.2 编译器
02.3 垃圾回收
02.3.1 三色算法
02.3.2 垃圾回收器背后的更多操作
02.3.3 Unsafe code
02.3.4 关于unsafe包
02.3.5 另一个usafe包的例子
02.5 C中调用Go函数
02.5.1 Go Package
02.5.2 C代码
02.6 defer关键字
02.7 Panic和Recover
3 Go基本数据类型
03.1 Go循环
03.1.1 for循环
03.1.2 while循环
03.1.3 range关键字
03.1.4 for循环代码示例
03.3 Go切片
03.3.1 切片基本操作
03.3.2 切片的扩容
03.3.3 字节切片
03.3.4 copy()函数
03.3.5 多维切片
03.3.6 使用切片的代码示例
03.3.7 使用sort.Slice()排序
03.4 Go 映射(map)
03.4.1 Map值为nil的坑
03.4.2 何时该使用Map?
03.5 Go 常量
03.5.1 常量生成器:iota
03.6 Go 指针
03.7 时间与日期的处理技巧
03.7.1 解析时间
03.7.2 解析时间的代码示例
03.7.3 解析日期
03.7.4 解析日期的代码示例
03.7.5 格式化时间与日期
03.8 延伸阅读
03.9 练习
03.10 本章小结
4 组合类型的使用
04.1 关于组合类型
04.2 结构体
04.2.1 结构体指针
04.2.2 使用new关键字
04.3 元组
04.4 正则表达式与模式匹配
04.4.1 理论知识
04.4.2 简单的正则表达式示例
04.4.3 高级的正则表达式示例
04.4.4 正则匹配IPv4地址
04.5 字符串
04.5.1 rune是什么?
04.5.2 关于Unicode的包
04.5.3 关于字符串处理的包
04.6 switch语句
04.7 计算Pi的精确值
04.8 实现简单的K-V存储
04.9 延展阅读
04.10 练习
04.11 本章小结
5 数据结构
05.1 图和节点
05.2 算法复杂度
05.3 Go 语言中的二叉树
05.3.1 Go 语言实现二叉树
05.3.2 二叉树的优点
05.4 Go 语言中的哈希表
05.4.1 Go 语言实现哈希表
05.4.2 实现查找功能
05.4.3 哈希表的优点
05.5 Go 语言中的链表
05.5.1 Go 语言实现链表
05.5.2 链表的优点
05.6 Go 语言中的双向链表
05.6.1 Go 语言实现双向链表
05.6.2 双向链表的优点
05.7 Go 语言中的队列
05.7.1 Go 语言实现队列
05.8 Go 语言中的栈
05.8.1 Go 语言实现栈
05.9 container 包
05.9.1 使用 container/heap
05.9.2 使用 container/list
05.9.3 使用 container/ring
05.10 生成随机数
05.10.1 生成随机字符串
05.11 延展阅读
05.12 练习
05.13 本章小结
6 Go package中不为人知的知识
06.1 关于Go packages
06.2 Go函数
06.2.1 匿名函数
06.2.2 多返回值的函数
06.2.3 可命名的函数返回值
06.2.4 参数为指针的函数
06.2.5 返回值为指针的函数
06.2.6 闭包
06.2.7 函数作为参数
06.3 设计你的Go packages
7 反射和接口
07.1 类型方法
07.2 Go的接口
07.3 类型断言
07.4 设计接口
07.4.1 接口的使用
07.4.2 Switch用于类型判断
07.5 反射
07.5.1 使用反射的简单示例
07.5.2 反射进阶
07.5.3 反射的三个缺点
07.6 Go的OOP思想
07.7 延展阅读
07.8 练习
07.9 本章小结
8 Go UNIX系统编程
08.1 关于UNIX进程
08.2 flag包
08.3 io.Reader和io.Writer接口
08.3.1 缓冲和无缓冲的文件输入和输出
08.4 bufio包
08.5 读取文本文件
08.5.1 逐行读取文本文件
08.5.2 逐词读取文本文件
08.5.3 逐字符读取文本文件
08.5.4 从/dev/random中读取
08.6 从文件中读取所需的数据量
08.7 为什么我们使用二进制格式
08.8 读取CSV文件
08.9 写入文件
08.10 从磁盘加载和保存数据
08.11 再看strings包
08.12 关于bytes包
08.13 文件权限
08.14 处理Unix信号
08.14.1 处理两种信号
08.14.2 处理所有信号
08.15 Unix管道编程
08.16 遍历目录树
08.17 使用ePBF
08.18 关于syscall.PtraceRegs
08.19 跟踪系统调用
08.20 User ID和group ID
08.21 其他资源
08.22 练习
08.23 总结
9 并发-Goroutines,Channel和Pipeline
09.1 关于进程,线程和Go协程
09.1.1 Go调度器
09.1.2 并发与并行
09.2 Goroutines
09.2.1 创建一个Goroutine
09.2.2 创建多个Goroutine
09.3 优雅地结束goroutines
09.3.1 当Add()和Done()的数量不匹配时会发生什么?
09.4 Channel(通道)
09.4.1 通道的写入
09.4.2 从通道接收数据
09.4.3 通道作为函数参数传递
09.5 管道
09.6 延展阅读
09.7 练习
09.8 本章小结
10 Go 并发-进阶讨论
10.1 重温调度器
10.1.1 环境变量 GOMAXPROCS
10.2 select关键字
10.3 goroutine超时检查的两种方式
10.3.1 方式1
10.3.2 方式2
10.4 重温Channel(通道)
10.4.1 信号通道
10.4.2 可缓冲通道
10.4.3 值为nil的通道
10.4.4 传送channel的通道
10.4.5 指定通道的执行顺序
10.5 通过共享变量来共享内存
10.5.1 sync.Mutex类型
10.5.1.1 忘记解锁mutex的后果
10.5.2 sync.RWMutex类型
10.5.3 通过goroutine共享内存
10.6 竞争状态
10.7 关于context包
10.7.1 context使用的高级示例
10.7.2 工作池
10.8 延展阅读
10.9 练习
10.10 本章小结
11 代码测试,优化及分析
11.1 本章使用的Go版本
11.1.1 1.10和1.9版本对比
11.2 安装beta或者RC版本
11.3 关于优化
11.4 优化你的Go代码
11.5 分析Go代码
11.5.1 标准库net/http/pprof
11.5.2 代码分析示例
11.5.3 用于分析的第三方包
11.5.4 Go分析器的web接口
11.5.4.1 使用web接口的分析示例
11.5.4.2 Graphviz快览
11.6 go tool的代码追踪
11.7 测试
11.7.1 编程测试代码
11.8 基准测试
11.8.1 基准测试示例
11.8.2 错误的基准测试函数
11.9 基准测试的缓冲写入
11.10 揪出隐藏的代码
11.11 交叉编译
11.12 创建示例函数
11.13 生成文档
11.14 延展阅读
11.15 练习
11.16 本章小结
12 Go网络编程基础
12.1 关于net/http,net和http.RoundTripper
12.1.1 http.Response类型
12.1.2 http.Request类型
12.1.3 http.Transport类型
12.2 关于TCP/IP
12.3 关于IPv4和IPv6
12.4 命令行工具netcat
12.5 读取网络接口的配置文件
12.6 实现DNS查询
12.6.1 获取域名的 NS记录
12.6.2 获取域名的 MX 记录
12.7 Go实现web服务器
12.7.1 分析HTTP服务
12.7.2 用Go创建网站
12.8 追踪 HTTP
12.8.1 测试 HTTP handler
12.9 Go实现web客户端
12.9.1 Go web客户端进阶
12.10 HTTP连接超时
12.10.1 SetDeadline 介绍
12.10.2 服务端设置超时时间
12.10.3 设置超时的另外一种方法
12.11 抓包工具Wireshark和tshark
12.12 延展阅读
12.13 练习
12.14 本章小结
13 网络编程 - 构建服务器与客户端
13.1 Go 标准库-net
13.2 TCP 客户端
13.2.1 另一个版本的 TCP 客户端
13.3 TCP 服务器
13.3.1 另一个版本的 TCP 服务器
13.4 UDP 客户端
13.5 UDP 服务器
13.6 并发 TCP 服务器
13.6.1 简洁的并发TCP服务器
13.7 远程调用(RPC)
13.7.1 RPC 客户端
13.7.2 RPC 服务器
13.8 底层网络编程
13.8.1 获取ICMP数据
13.9 接下来的任务
13.10 延展阅读
13.11 练习
13.12 本章小节
其他
Go 映射(maps)
反射和接口
用Go实现cat(1)程序
暂无相关搜索结果!
本文档使用
BookStack
构建
×
分享,让知识传承更久远
×
文章二维码
手机扫一扫,轻松掌上读
×
文档下载
普通下载
下载码下载(免登录无限下载)
你与大神的距离,只差一个APP
请下载您需要的格式的文档,随时随地,享受汲取知识的乐趣!
PDF
文档
EPUB
文档
MOBI
文档
温馨提示
每天每在网站阅读学习一分钟时长可下载一本电子书,每天连续签到可增加阅读时长
下载码方式下载:免费、免登录、无限制。
免费获取下载码
下载码
文档格式
PDF
EPUB
MOBI
码上下载
×
微信小程序阅读
您与他人的薪资差距,只差一个随时随地学习的小程序
×
书签列表
×
阅读记录
阅读进度:
0.00%
(
0/0
)
重置阅读进度