Go Web编程小结 12.部署与维护 12.1 应用日志 12.2 网站错误处理 12.3 应用部署 12.4 备份和恢复 12.5 小结 13.如何设计一个Web框架 13.1 项目规划 13.2 自定义路由器设计 13.3 controller设计 13.4 日志和配置设计 13.5 实现博客的增删改 13.6 小结 14.扩展Web框架 14.1 静态文件支持 14.2 Session支持 Subversion) Launchpad (Bazaar) 所以为了go get 能正常工作,你必须确保安装了合适的源码管理工具,并同时把这些命令加入你的PATH中。其实 go get支持自定义域名的功能,具体参见go help remote。 go install go install 这个命令在内部实际上分成了两步操作:第一步是生成结果文件(可执行文件或者.a包),第二步会把编译好的结果移 其他特征 支持多国语言界面显示 完全插件体系结构 支持编辑器配色方案 基于Kate的语法显示支持 基于全文的单词自动完成 支持键盘快捷键绑定方案 Markdown文档编辑支持 实时预览和同步显示 自定义CSS显示 可导出HTML和PDF文档 批量转换/合并为HTML/PDF文档 LiteIDE安装配置 LiteIDE安装配置 LiteIDE安装 下载地址 http://code.google0 码力 | 295 页 | 5.91 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a汇总了许多知识点和细节,从而可以帮助Go程序员节省很多学习时间。 有什么其它值得一提吗? 本书不涵盖自定义泛型相关内容。 请阅读《Go自定义泛型101》 ? 一书来了 解使用自定义泛型。 另外,在阐述值类型转换、值赋值和值比较规则时,自定义泛型中频繁使用的 类型参数类型被特意忽略掉了。 也就是说,本书不考虑自定义泛型中的情 形。 本书由老貘 ? 历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。 内存安全。 自动垃圾回收。 良好的代码跨平台性。 自定义泛型(从Go 1.18开始)。 除了以上特性,Go还有如下亮点: Go的语法很简洁并且和其它流行语言相似。 这使得具有一定编程经验的 程序员很容易上手Go编程。 当然,对于没有编程经验的初学者,Go也比 上面所有提到的优点使得Go成为一个出众的编程语言。 对于很多项目来说, Go是一个相当不错的选择。 目前,Go主要用于网络开发、系统工具开发、数 据库开发和区块链开发。 随着从Go 1.18开始支持自定义泛型,预期Go会在更 多开发领域流行起来,比如图形界面、游戏、大数据和人工智能等。 最后,我们应该知道,没有一门语言是完美的。Go也一样。Go的设计中有很 多折衷和各种权衡。Go 1确实有一些不足。0 码力 | 821 页 | 956.82 KB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a汇总了许多知识点和细节,从而可以帮助Go程序员节省很多学习时间。 有什么其它值得一提吗? 本书不涵盖自定义泛型相关内容。 请阅读《Go自定义泛型101》 一书来了解 使用自定义泛型。 另外,在阐述值类型转换、值赋值和值比较规则时,自定义泛型中频繁使用的 类型参数类型被特意忽略掉了。 也就是说,本书不考虑自定义泛型中的情形。 本书由老貘 历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是本 书和Go101 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。 内存安全。 自动垃圾回收。 良好的代码跨平台性。 自定义泛型(从Go 1.18开始)。 除了以上特性,Go还有如下亮点: Go的语法很简洁并且和其它流行语言相似。 这使得具有一定编程经验的程 序员很容易上手Go编程。 当然,对于没有编程经验的初学者,Go也比很 上面所有提到的优点使得Go成为一个出众的编程语言。 对于很多项目来说, Go是一个相当不错的选择。 目前,Go主要用于网络开发、系统工具开发、数 据库开发和区块链开发。 随着从Go 1.18开始支持自定义泛型,预期Go会在更 多开发领域流行起来,比如图形界面、游戏、大数据和人工智能等。 最后,我们应该知道,没有一门语言是完美的。Go也一样。Go的设计中有很多 折衷和各种权衡。Go 1确实有一些不足。0 码力 | 608 页 | 1.08 MB | 1 年前3
Golang 101(Go语言101 中文版) v1.21.a很多学习时间。 有什么其它值得一提吗? 本书不涵盖自定义泛型相关内容。 请阅读《Go自定义泛型101》 (https://gfw.go101.org/generics/101.html)一书来了解使用自定义泛型。 另外,在阐述值类型转换、值赋值和值比较规则时,自定义泛型中频繁使用的类型 参数类型被特意忽略掉了。 也就是说,本书不考虑自定义泛型中的情形。 本书由老貘历时三年写成。目前本书仍在不断改进和增容中。你的赞赏是本书和 支持延迟函数调用(defer)。 支持类型内嵌(type embedding)。 支持类型推断(type deduction or type inference)。 内存安全。 自动垃圾回收。 良好的代码跨平台性。 自定义泛型(从Go 1.18开始)。 除了以上特性,Go还有如下亮点: Go的语法很简洁并且和其它流行语言相似。 这使得具有一定编程经验的程序 员很容易上手Go编程。 当然,对于没有编程经验的初学者,Go也比很多其它 上面所有提到的优点使得Go成为一个出众的编程语言。 对于很多项目来说,Go是一 个相当不错的选择。 目前,Go主要用于网络开发、系统工具开发、数据库开发和区 块链开发。 随着从Go 1.18开始支持自定义泛型,预期Go会在更多开发领域流行起 来,比如图形界面、游戏、大数据和人工智能等。 第2章:Go语言简介 10 最后,我们应该知道,没有一门语言是完美的。Go也一样。Go的设计中有很多折衷0 码力 | 591 页 | 21.40 MB | 1 年前3
Go基础语法宝典goroutine channels Buffered Channels Range和Close Select 超时 runtime goroutine 错误处理 Error类型 自定义Error 错误处理 总结 更多Golang资源包:https://github.com/0voice/Introduction-to-Golang 关键字 Go语言设计的关键字,了解这些关键字有助于命名变量的冲突避免 continue 、 for 、 fallthrough 、 else 、 if 、 switch 、 goto 、 default 用于流程控制 chan 用于channel通讯 type 用于声明自定义类型 map 用于声明map类型数据 range 用于读取slice、map、channel数据 break default func interface select com/0voice/Introduction-to-Golang struct类型 struct类型的声明 Go语言中,也和C或者其他语言一样,可以声明新的类型,作为其它类型的属性或字段的容器。例如, 可以创建一个自定义类型 person 代表一个人的实体。这个实体拥有属性:姓名和年龄。这样的类型称 之 struct 。如下代码所示: import "shorturl/model" //加载gopath/src/shorturl/model模块0 码力 | 47 页 | 1020.34 KB | 1 年前3
Go 入门指南(The way to Go)9.3 锁和 sync 包 - 3 - 本文档使用 书栈(BookStack.CN) 构建 9.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 结构体定义 10.2 使用工厂方法创建结构体实例 10.3 使用自定义包中的结构体 10.4 带标签的结构体 10.5 匿名字段和内嵌结构体 10.6 方法 10.7 类型的 String() 方法和格式化描述符 10.8 垃圾回收和 SetFinalizer 第11章:接口(inter 传输数据 12.12 Go 中的密码学 第13章:错误处理与测试 13.1 错误处理 13.2 运行时异常和 panic 13.3 从 panic 中恢复(Recover) 13.4 自定义包中的错误处理和 panicking 13.5 一种用闭包处理错误的模式 13.6 启动外部命令和程序 13.7 Go 中的单元测试和基准测试 13.8 测试的具体例子 13.9 用(测试数据)表驱动测试0 码力 | 466 页 | 4.44 MB | 1 年前3
Go 入门指南(The way to Go)下载地址:Download the Go distribution 。 我们接下来也会带你一步步的完成安装过程。 1. 设置 Go 环境变量 我们在 Linux 系统下一般通过文件 $HOME/.bashrc 配置自定义环境变量,根据不同的发行版也可 能是文件 $HOME/.profile ,然后使用 gedit 或 vi 来编辑文件内容。 export GOROOT=$HOME/go 为了确保相关文件在文件 这里有一个你可以期待你用来开发 Go 的集成开发环境有哪些特性的列表,从而替代你使用文本编辑器写 代码和命令行编译与链接程序的方式。 1. 语法高亮是必不可少的功能,这也是为什么每个开发工具都提供配置文件来实现自定义配置的原因。 2. 可以自动保存代码,至少在每次编译前都会保存。 3. 可以显示代码所在的行数。 4. 拥有较好的项目文件纵览和导航能力,可以同时编辑多个源文件并设置书签,能够匹配括号,能够跳 正确的做法: const c1 = 2/3 错误的做法: const c2 = getNumber() // 引发构建错误: getNumber() used as value 因为在编译期间自定义函数均属于未知,因此无法用于常量的赋值,但内置函数可以使用,如:len()。 数字型的常量是没有大小和符号的,并且可以使用任何精度而不会导致溢出: const Ln2= 0.69314718050 码力 | 380 页 | 2.97 MB | 1 年前3
云原生go-zero微服务框架设计思考不允许不过期的缓存 ● 分布式缓存,易伸缩 ● 自动生成,自带统计 缓存的最佳实践 ● 协议选择 - gRPC ● 服务发现方式 - etcd ● 负载均衡 - p2c ewma ● 支持自定义中间件 service2 etcd service1 注册上报 watch发现 rpc call rpc服务层 - zRPC Power of Two Choices ● 默认算法 or-latency/ ● 流控 ● 请求鉴权 ● 请求参数校验 ● 业务聚合 ● 支持自定义中间件 api gateway层 ● Google SRE算法 ● 放弃了Netflix Hystrix算法 ● 基于滑动窗口(10秒/40窗口) ● 支持自定义触发条件 ● 支持自定义fallback ● http/rpc框架内建 ● 自动触发,自动恢复 自适应熔断 ● K8S的HPA tag支持:path, form, json ● default, optional, options, range 解析校验 ● httpx.Parse(...) ● 参数错误自动返回400 ● 支持自定义错误返回方式 http请求自动解析校验 https://github.com/tal-tech/go-zero https://zero.gocn.vip 欢迎 star, fork, issue0 码力 | 29 页 | 5.70 MB | 9 月前3
基于 mesos 的容器调度框架slide#3 20/36 自定义策略 收到 mesos o�er 后, 可以自定义策略来决定任务调度方案 随机调度 每次调度尽可能让同一应用的各个任务分布到不同机器 2017/8/3 基于 mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 21/36 自定义策略 根据机器和任务的属性进行调度 2017/8/3 基于 mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 22/36 自定义策略 根据机器 weight/load 动态调度 2017/8/3 基于 mesos 的容器调度框架 http://go-talks.appspot.com/github.com/huangnauh/slides/upone http://go-talks.appspot.com/github.com/huangnauh/slides/upone.slide#3 29/36 定时任务特性 支持 upone 的上述特性(自定义调度等) 支持 linux 定时任务 crontab 的配置格式 2017/8/3 基于 mesos 的容器调度框架 http://go-talks.appspot.com/github.co0 码力 | 36 页 | 2.49 MB | 1 年前3
go web 框架 严清还要⽀支持 i18n 的 errors 机制?没问题,参考 gear.Error 实现⼀一个,你⾏行行的! 集中、智能、灵活的异常处理理 Gear 框架⾃自定义 error 的响应 // 默认响应为 “application/json”,⽀支持⾃自定义响应类型 app.Set(gear.SetOnError, func(ctx *gear.Context, err gear.HTTPError) { time") } return nil } 和不不⼀一样的 ctx.ParseURL ctx.ParseURL 与 ctx.ParseBody ⼀一致的使⽤用⽅方式,强⼤大和灵活,可⾃自定义 强⼤大、实⽤用的 HTTP 操作语法糖 强类型的疼,再也不不能像 JS ⼀一样任性的扩展 context 了了 类似解析请求数据这种需求,可做成类似 util ⼯工具包 但像 session (*Session, error) { val, err := ctx.Any(gearSession) return val.(*Session), err } // 在中间件中使⽤用⾃自定义的 Session app.Use(func(ctx *gear.Context) error { sess, err := FromCtx(ctx) sess.Avatar = "avatar0 码力 | 23 页 | 333.12 KB | 1 年前3
共 30 条
- 1
- 2
- 3













