Go语言入门
文章平均质量分 84
Go语言学习笔记
rs勿忘初心
刻意练习,享受创造的快乐。公众号:rs勿忘初心
展开
-
Go语言相比较于Python的优势
每种语言都有其独特性的表现,互相之间是不能替代的。Python和Go这两种语言都是时下非常热门的语言。从技术上讲,Go是一种为速度而构建的过程式函数式语言,而Python是一种、命令式、函数式和过程式语言。Go支持并发,即算法能够无序运行其步骤,而Python不支持。“Python的功能最强大,而Go的速度最快”,这应该能代表大多数程序员的心声。事实上,Python和Go两种语言虽然各有优势,但在流行性上Python却是略占上风的。为什么没有Python流行呢?下面主要介绍的是。原创 2022-08-21 17:20:32 · 3169 阅读 · 0 评论 -
Go 基本语法之变量遮蔽问题
在日常的编码中,有很多细节需要注意,比如变量声明的位置以及变量的命名问题,这些如果不了解,可能在出现问题时浪费我们大量的时间定位,同时代码的可读性可能会比较差。一、什么是变量遮蔽?首先来看下变量遮蔽问题,什么是变量遮蔽呢?我们来看下面这段示例代码:var a = 11func foo(n int) { a := 1 a += n}func main() { fmt.Println("a =", a) // 11 foo(5) fmt.Println("after原创 2022-02-09 10:04:07 · 984 阅读 · 0 评论 -
Go 基本语法之变量声明
学习静态语言有别于动态语言的一个重要特征:变量声明。编程语言的编译器或解释器是如何知道一个变量所能引用的内存区域边界呢?动态语言和静态语言有不同的处理方式:动态语言(比如 Python、Ruby 等)的解释器可以在运行时通过对变量赋值的分析,自动确定变量的边界。并且在动态语言中,一个变量可以在运行时被赋予大小不同的边界。 而静态编程语言在这方面的“体验略差”。静态类型语言编译器必须明确知道一个变量的边界才允许使用这个变量,但静态语言编译器又没能力自动提供这个信息,这个边界信息必须由这门语言的使原创 2022-02-08 21:26:23 · 2572 阅读 · 1 评论 -
第一个go程序: HTTP 服务示例
我们先来看下在 Go 中创建一个基于 HTTP 协议的 Web 服务是多么的简单。以开发 Web 服务为例,我们可以基于 Go 标准库提供的 net/http 包,轻松构建一个承载 Web 内容传输的 HTTP 服务。我们来构建一个最简单的 HTTP 服务,这个服务的功能很简单,就是当收到一个 HTTP 请求后,给请求方返回包含“hello, world”数据的响应。1、准备工作按下面步骤建立一个 simple-http-server 目录,并创建一个名为 simple-http-server原创 2022-02-08 20:22:26 · 801 阅读 · 0 评论 -
Go程序的结构
Go 的命名规则Go 源文件总是用全小写字母形式的短小单词命名,并且以.go 扩展名结尾。如果要在源文件的名字中使用多个单词,我们通常直接是将多个单词连接起来作为源文件名,而不是使用其他分隔符,比如下划线。也就是说,我们通常使用 helloworld.go 作为文件名而不是 hello_world.go。Go常见约定:main 包在 Go 中是一个特殊的包,整个 Go 程序中仅允许存在一个名为 main 的包。作为 Go 开发人员,请在提交你的代码前使用 Gofmt 格式化你的 Go原创 2022-01-18 18:01:15 · 553 阅读 · 0 评论 -
安装Go环境
选择 Go 版本直接使用 Go 最新发布版(比如:Go 1.17),如果比较谨慎的话,可以使用次新版本(如:Go 1.16.x),Go 1.16.x这种格式表示的是Go 1.16的补丁版本 。Go 团队承诺对最新的两个 Go 稳定大版本提供支持,比如目前最新的大版本是 Go 1.17,那么 Go 团队就会为 Go 1.17 和 Go 1.16 版本提供支持。如果 Go 1.18 版本发布,那支持的版本将变成 Go 1.18 和 Go 1.17。支持的范围主要包括修复版本中存在的重大问题、文档变更以及原创 2022-01-16 21:47:05 · 1417 阅读 · 0 评论 -
Go语言的设计哲学
所谓编程语言的设计哲学,就是指决定这门语言演化进程的高级原则和依据。设计哲学之于编程语言,就好比一个人的价值观之于这个人的行为。因此,在真正开始学习 Go 语法和编码之前,我们还需要先来了解一下 Go 语言的设计哲学。Go 语言的设计哲学总结为五点:简单、显式、组合、并发和面向工程。简单:Go 语法层面上呈现了这样的状态: 仅有 25 个关键字,主流编程语言最少; 内置垃圾收集,降低开发人员内存管理的心智负担; 首字母大小写决定可见性,无需通过额外关键字修饰; 变量初始为类型零值,避原创 2022-01-16 21:24:19 · 575 阅读 · 0 评论