Go 入门指南(The way to Go)
第1章:Go 语言的起源,发展与普及 1.1 起源与发展 1.2 语言的主要特性与发展的环境和影响因素 第2章:安装与运行环境 2.1 平台与架构 2.2 Go 环境变量 2.3 在 Linux 上安装 Go 2.4 在 Mac OS X 上安装 Go 2.5 在 Windows 上安装 Go 2.6 安装目录清单 2.7 Go 运行时(runtime) 2.8 Go 解释器 第3章:编辑器、集成开发环境与其它工具 3.1 Go 开发环境的基本要求 3.2 编辑器和集成开发环境 3.3 调试器 3.4 构建并运行 Go 程序 3.5 格式化代码 3.6 生成代码文档 3.7 其它工具 3.8 Go 性能说明 3.9 与其它语言进行交互 第4章:基本结构和基本数据类型 4.1 文件名、关键字与标识符 4.2 Go 程序的基本结构和要素 4.3 常量 4 精密计算和 big 包 9.5 自定义包和可见性 9.6 为自定义包使用 godoc 9.7 使用 go install 安装自定义包 9.8 自定义包的目录结构、go install 和 go test 9.9 通过 Git 打包和安装 9.10 Go 的外部包和项目 9.11 在 Go 程序中使用外部库 第10章:结构(struct)与方法(method) 10.1 结构体定义 100 码力 | 466 页 | 4.44 MB | 1 年前3Go 入门指南(The way to Go)
前言 原文出处:https://github.com/Unknwon/the-way-to-go_ZH_CN 用更少的代码,更短的编译时间,创建运行更快的程序,享受更多 的乐趣 对于学习 Go 编程语言的爱好者来说,这本书无疑是最适合你的一本书籍,这里包含了当前最全面的学习 资源。本书通过对官方的在线文档、名人博客、书籍、相关文章以及演讲的资料收集和整理,并结合我自 身在软件工程、编程语 开发出的软件能够很好地在现代的多核计算机上工作 开发出的软件能够很好地在网络环境下工作 使人们能够享受软件开发的过程 Go 语言就在这样的环境下诞生了,它让人感觉像是 Python 或 Ruby 这样的动态语言,但却又拥有像 C 或者 Java 这类语言的高性能和安全性。 Go 语言出现的目的是希望在编程领域创造最实用的方式来进行软件开发。它并不是要用奇怪的语法和晦 涩难懂的概念来从根本上推翻已有的编程语言,而是建立并改善了 来支持并发和并行编程。 这本书是为那些想要学习 Go 这门全新的,迷人的和充满希望的编程语言的开发者量身定做的。当然,你 在学习 Go 语言之前需要具备一些关于编程的基础知识和经验,并且拥有合适的学习环境,但你并不需要 对 C 或者 Java 或其它类似的语言有非常深入的了解。 对于那些熟悉 C 或者面向对象编程语言的开发者,我们将会在本书中用 Go 和一些编程语言的相关概念进 行比较(书中会使用大家所熟知的缩写0 码力 | 380 页 | 2.97 MB | 1 年前3Go vs. GoPlus(Go+)
Go vs. GoPlus(Go+) 许式伟 x@goplus.org 2021-6-27 北京 话外: 模板 Go 篇 谁是最成功的语言? • 1970 – 至今 -什么语言是最成功的? • C (1970) • C++ (1979) • Objective-C (1986) • Java (1994) • C# (2002) • Go (2009) 2012年8月 C 是 50 至今,>50年,经久不衰 Go, Next C! • Go 语言要学习的是 C,不是 Java -多数的系统级语言包括Java、C#,其根本的编程哲学来源于C++,将 C++的面向对象进一步发扬光大 -但是Go语言的作者们很清楚,C++ 真的没啥好学的,他们要学的是C语 言。C语言经久不衰的根源是它足够简单。Go语言也要足够得简单 • Go,互联网时代的C,下一个C -要再创 C 的辉煌 Go至少领先其他语言10年 年来出现的语言非常之多,各有各的特色,让人眼花 缭乱。但是我个人固执地认为,谈得上突破了 C 语言思想,将编 程理念提高到一个新高度的,仅有 Go 语言而已 • 10 年后才会有语言试图去突破Go语言已经达到的新高度 -不会是现有的任何语言,而会是一门新兴语言 Go,超越我的想象 • Go 语言的各种语法特性显得那么深思熟虑、卓绝不凡,其对软 件架构与工程的理解,让我深觉无法望其项背 • 处处带给我惊喜的语言0 码力 | 54 页 | 1.82 MB | 1 年前3Go Web编程
《Go Web 编程》 《Go Web 编程》 因为自己对Web开发比较感兴趣,所以最近抽空在写一本开源的书籍《Go Web编程》《Build Web Application with Golang》。写这本书不表示我能力很强,而是我愿意分享,和大家一起分享Go写Web应用的一些东西。 对于从PHP/Python/Ruby转过来的同学了解Go怎么写Web应用开发的 对于从C/C++转过来的同学了解Web到底是怎么运行起来的 节”的链接。 代码 代码 代码要go fmt后提交。注释文件注明其所属章节。 如何编译 如何编译 build.go依赖markdown的一个解析包,所以第一步先 go get github.com/russross/blackfriday 这样读者就可以把相应的Markdown文件编译成html文件,执行go build build.go,执行生成的文件,就会在底目 录下生成相应的html文件 欢迎大家加入QQ群:259316004 《Go Web编程》专用交流群 大家有问题还可以上德问上一起交流学习:http://www.dewen.org/topic/165 致谢 致谢 首先要感谢Golang-China的QQ群102319854,里面的每一个人都很热心,同时要特别感谢几个人 四月份平民 (review代码) Hong Ruiqi (review代码) BianJiang (编写go开发工具Vim和Emacs的设置)0 码力 | 295 页 | 5.91 MB | 1 年前32.4 Go 1.4 runtime
Go 1.4 runtime Gopher China 2015 1. Memory Allocator 2. Garbage Collector 3. Goroutine Scheduler 1. Memory Allocator 内存分配器 base on tcmalloc. 基于成熟方案,性能优秀。随着版本升级, 针对性改进,以期与垃圾回收器更好协作。 核心:自主管理,缓存复用,无锁分配。 finalizer span span … cache … stack … G G … mark mark mark markroot scanblock heap.bitmap Go 1.5: concurrent pauseless collector. sweep. 串行,或与用户逻辑并发执行。 gc eagersweep concurrent goroutine scheduler max = 10000 max = 256 runtime/debug.SetMaxThreads 超出限制,会导致进程崩溃。 newproc. 创建新并发任务。 go func() G newproc P queue M weakup batch move global queue fget malg stack newm. 创建系统线程执行任务。0 码力 | 29 页 | 608.57 KB | 1 年前32.2.1 深入Go Module
深入Go Module 鸟窝 细节、使用、坑以及未来 鸟窝 • Go微服务框架rpcx作者 • Go并发编程实战课专栏作者 • 《Scala集合技术手册》作者 目 录 Go 版本管理历史 01 认识 Go Module 02 使用 Go Module 03 血泪史 04 Go Module 未来特性 05 Go版本管理历史 第一部分 Go版本历史 GOPATH /2012/go /2012/go 1.0 goven /2012/ .../kr/goven godep /2013/ .../tools/godep gopkg.in /2014 glide /2014/ .../Masterminds/glide gb /2015/ .../constabulary/gb govendor /2015/ .../kardianos/govendor vendor /2015/ go1.5,go1.6 dep /2017/ .../golang/dep go mod /2018/ go1.11,go1.12~go1.17 Go module历代变更 Go1.12 • GO111MODULE • 正式推出 • 影响go命令 Go1.13 • GO111MODULE未 如预期去掉 • GOPROXY • 影响go命令 Go 1.14 •0 码力 | 46 页 | 3.85 MB | 1 年前3Go持续集成
简单 激情 速度快 聚焦 极致 可信赖 • 崔英杰 Go的持续集成 实践分享 简单 激情 速度快 聚焦 极致 可信赖 什么是持续集成 持续集成 是一种软件开发实践。在持续集 成中,团队成员频繁集成他们的工作成果, 一般每人每天至少集成一次,也可以多次。 每次集成会经过自动构建(包括自动测试) 的 检验,以尽快发现集成错误。 — Martin Fowler 简单 激情 速度快 聚焦 极致 激情 速度快 聚焦 极致 可信赖 连接Github与Slack 简单 激情 速度快 聚焦 极致 可信赖 连接Github与Travis 简单 激情 速度快 聚焦 极致 可信赖 加入测试 go test ./… -v 简单 激情 速度快 聚焦 极致 可信赖 连接Travis与Slack 简单 激情 速度快 聚焦 极致 可信赖 代码覆盖率 简单 激情 速度快 聚焦 极致 可信赖0 码力 | 39 页 | 10.74 MB | 1 年前3Hello 算法 1.1.0 Go版
Hello 算法 Go 语言版 作者:靳宇栋(@krahets) 代码审阅:刘代富(@Reanon) Release 1.1.0 2024‑04‑15 序 两年前,我在力扣上分享了“剑指 Offer”系列题解,受到了许多读者的鼓励和支持。在与读者交流期间,我 最常被问的一个问题是“如何入门算法”。逐渐地,我对这个问题产生了浓厚的兴趣。 两眼一抹黑地刷题似乎是最受欢迎的方法,简单、直接 本项目旨在创建一本开源、免费、对新手友好的数据结构与算法入门教程。 ‧ 全书采用动画图解,结构化地讲解数据结构与算法知识,内容清晰易懂,学习曲线平滑。 ‧ 算法源代码皆可一键运行,支持 Python、C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、 Rust、C 和 Zig 等语言。 ‧ 鼓励读者在线上章节评论区互帮互助、共同进步,提问与评论通常可在两日内得到回复。 0 记录。需要注意的是,Python 中 range(a, b) 对应的区间是“左闭右开”的,对应的遍历范围为 ?, ? + 1, … , ? − 1 : // === File: iteration.go === /* for 循环 */ func forLoop(n int) int { res := 0 // 循环求和 1, 2, ..., n-1, n for i := 1; i <=0 码力 | 383 页 | 18.48 MB | 1 年前3Go 2 Generics? A (P)review
Go 2 Generics? A (P)review Changkun Ou https://changkun.de/s/go2generics/ https://youtu.be/E16Y6bI2S08 Go 夜读 SIG 小组 | 第 80 期 March 18, 2020 # Based on Contracts ( Version July 31, 2019 2020 © Changkun Ou · Go 夜读 · Go 2 Generics? A (P)review 主要内容 ● 泛型的起源 ● 泛型的早期设计 ● Go 2 的「合约」 ● 上手时间 ● 历史性评述 ● 展望 泛型的起源 Origin of Generics 2020 © Changkun Ou · Go 夜读 · Go 2 Generics? A (P)review 调用。也被翻译为特设多态。例如:函数重载 func Add(a, b int) int { return a+b } func Add(a, b float64) float64 { return a+b } // 注意: Go 语言中不允许同名函数 Add(1, 2) // 调用第一个 Add(1.0, 2.0) // 调用第二个 Add("1", "2") // 编译时不检查,运行时找不到实现,崩溃 参数化多态(Parametric0 码力 | 41 页 | 770.62 KB | 1 年前32.6 Go in Linux Desktop Environment
Go in Linux Desktop Environment 2015年4月 夏彬 武汉深之度 Linux桌面环境 Gnome (Gtk) KDE (Qt) Lxde (Gtk) LxQt(Qt5) Xfce (Gtk) DDE (Gtk) ....... DE组件 Windows Manager Input Method Launcher Panel (dock) 与其他组件的融合 X11 解决方式 using CGO to get anything Pure golang library CGO Tips Go-C C-Go struct array CGO Tips: Go call C functions && types convert Easy to use. Just using the C pseudo package. make time package main /* #cgo pkg-config: gtk+-3.0 #includevoid write_c_function_in_go_source(GtkWidget* w) { GtkWidget* color = gtk_color_chooser_widget_new(); gtk_window_set_p 0 码力 | 36 页 | 414.50 KB | 1 年前3
共 651 条
- 1
- 2
- 3
- 4
- 5
- 6
- 66