随笔分类 - Golang
Journey of golang learning.
发表于 2020-02-02 11:11阅读次数:266评论次数:0
摘要:本文介绍一些关于golang工程管理相关的东西。首先介绍golang一些重要的环境变量,有关golang的环境变量可以用以下命令查看: go env GOROOT位于上述位置,则不需要显式设置该环境变量,反之需要
阅读全文 »
发表于 2020-01-31 18:01阅读次数:249评论次数:0
摘要:golang语法简单,类型系统短小精悍,但也不是完美无瑕的。golang也有一些特性让初学者感到困惑。本文介绍golang的语言陷阱,并介绍golang源码书写的惯用方法。 golang支持多值赋值,在函数或方法内部也支持短变量声明并复制,同时golang依据类型字面量的值能够自动进行类型推断。可以
阅读全文 »
发表于 2020-01-25 22:09阅读次数:256评论次数:0
摘要:在计算机科学中,反射是指计算机程序在运行时可以访问、检测和修改本身状态或行为的一种能力。通俗地说,反射就是程序能够在运行时动态地查看自己的状态,并且允许修改自身的行为。 golang的反射基础是编译器和运行时把类型信息以合适的数据结构保存在可执行程序中。golang提供的reflect标准库知识为语
阅读全文 »
发表于 2020-01-19 17:38阅读次数:365评论次数:0
摘要:并发和并行是两种不同的概念。 并行意味着程序在任意时刻都是同时运行的 并发意味着程序在单位时间内是同时运行的 并行就是在任一粒度时间内都具备同时执行的能力,最简单的并行就是多机,多台机器并行处理。SMP表面上看是并行的,但由于是共享内存,以及线程间的同步等,不可能完全做到并行。 并发是在规定时间内多
阅读全文 »
发表于 2020-01-13 00:05阅读次数:394评论次数:0
摘要:接口是一个编程规约,也是一组方法签名的集合。golang的接口是非侵入式的设计,也就是说,一个具体类型实现接口不需要再语法上显式地声明,只要具体类型的方法集是接口方法集的超集,就代表该类型实现了该接口,编译器在编译时会进行方法集的校验。接口是没有具体实现逻辑的,也不能定义字段。 接口变量只有值和类型
阅读全文 »
发表于 2020-01-10 21:37阅读次数:200评论次数:0
摘要:golang的类型分为命名类型和未命名类型。命名类型包含预声明类型,可以通过标识符表示,用户自定义类型也是命名类型。未命名类型由预声明类型、关键字和操作符组合而成。未命名类型又称为类型字面量。array/slice/map/channel/pointer/function/struct/interf
阅读全文 »
发表于 2020-01-02 20:47阅读次数:174评论次数:0
摘要:golang的函数作为“第一公民”,表现在: 函数是一种类型,函数类型变量可以像其他类型变量一样使用,可以作为其他函数的参数或返回值,也可以直接调用执行 支持多返回值返回 支持闭包 支持可变函数 与其他语言一样,函数声明包括关键字func、函数名、参数列表、返回列表和函数体。函数名遵循标识符的命名规
阅读全文 »
发表于 2020-01-01 22:47阅读次数:172评论次数:0
摘要:这一章介绍golang的一些基础知识。golang写起来跟c++很不一样,在我看来,它更像是c++/java/python的混合体,再经过一系列增删之后的东西。 golang最大的特点就是简洁,仅有25个关键字;它虽然是一门静态语言,但支持运行时动态类型;它不仅是强类型语言,还支持隐式类型推导。go
阅读全文 »
发表于 2019-12-31 21:55阅读次数:242评论次数:0
摘要:最近由于一些事务,开始写golang。由于golang本身的简洁性和易用性(当然,它还是一门强类型语言),让我感觉这门语言不仅有趣,而且具有很高的实用性。 为了进一步系统学习这门语言,一月份我将开始编写Journey with golang系列博客,权当golang知识点复习(反正在家也是无聊)。
阅读全文 »