本文主要就go语言的学习发展,总结自己在学习的道路上遇到的问题,同时对学习资源进行归纳总结,以方便共同学习
概述
近年来语言的飞速发展,的确给大家带来一种应接不暇的现象,究竟如何取舍,的确是让人挺纠结的。自从Google宣布,kotlin 作为android开发的首选语言,java的地位能否像以前一样不得而知,但是基于jvm的语言(Groovy,Kotlin)的发展也让大家看到每种语言在处理特定问题的优势;gradle基于groovy,开发新一代的构建工具,个人觉得你极大提高了生产力,在持续集成领域,无疑增加了一剂猛药。可以看到groovy在领域特定语言上的优势。
继续阅读 »
使用任何编程语言开发工程化的项目都缺少不了配置,我们可能要存储一些数据库信息、邮件配置、其他的第三方服务密钥等,而配置文件的类型又有很多种,比如 XML、JSON、YML、INI 等,配置文件又可能分为不同的环境,如 dev、test、prod,这篇文章中带你了解在 Go 中加载配置信息那些事儿。
继续阅读 »
教程
Go官方文档:https://golang.org/doc/
查看标准库列表:
https://gowalker.org/search?q=gorepos
https://golang.org/pkg/
继续阅读 »
|Operator | Java | Go | Python | Javascript |
|:-----------------------|:---------------------------|:-------------------------:|:------------:|:-----------------|
|++, -- | statement | not statement, expression |
继续阅读 »
|Map | Java | Python | Go |
|:--------|:-----------------------|:----------|:----------|
|type | Map, HashMap, etc | dict | Map |
|package | import Map | primitive | primitive |
|mutable | Y | Y | Y |
继续阅读 »
微服务架构逐渐流行,基于容器的逐渐成为主流,加上Docker这样杀手级的应用出现,Go现在在构建微服务的上的优势越来越明显。因此需要选择一个开源的微服务框架进行学习,以帮助大家快速构建微服务。本文使用Go-kit说明其在构建微服务上的用法。以下内容来源于Go-Kit-Demo的翻译
继续阅读 »
| Item | Java | Python | Go | Javascript |
|:-----------------|:-----------------|:------------|:--------------------|:-----------|
|type | String | str/unicode | string | N/A |
|package | import String | primitive |
继续阅读 »
|Set | Java | Python | Go |
|:--------|:-----------------------|:----------|:----------|
|type | Set, HashSet, etc | set | N/A |
|package | import Set | primitive | N/A |
|mutable | Y | Y | N/A |
继续阅读 »
go提供了一种叫map的数据结构,可以翻译成映射,对应于其他语言的字典、哈希表。借助map,可以定义一个键和值,然后可以从map中获取、设置和删除这个值,尤其适合数据查找的场景。但是map的使用有一定的限制,如果是在单个协程中读写map,那么不会存在什么问题,如果是多个协程并发访问一个map,有可能会导致程序退出,并打印下面错误信息:
继续阅读 »
Go环境变量
GOROOT
golang当前的安装目录
GOPATH
golang工作区的集合,放置golang源码文件的目录,包含以下三个目录
├── bin //编译后的可执行文件
├── pkg //存放go install命令安装后的代码包的归档文件
└── src //源码存放,命令源码文件并不一定必须放在 src 文件夹
GOBIN
指向编译后的可执行文件,上述的bin目录
GOOS 和 GOARCH
两个环境变量是不用我们设置的,系统就默认的。GOOS 是 Go 所在的操作系统类型,GOARCH 是 Go 所在的计算架构。
more
Go命令基
继续阅读 »