Golang
为并发而生的语言,谁不想见识一下呢
RdrB1te
总结IT学习之路,顺便分享一些我在生活与工作中的Think Idea,希望与大家一起学习进步。
展开
-
Go语言全栈开发:模板语言
在一些前后端不分离的Web架构中,我们通常需要在后端将一些数据渲染到HTML文档中,从而实现动态的网页(网页的布局和样式大致一样,但展示的内容并不一样)效果。我们这里说的模板可以理解为事先定义好的HTML文档文件,模板渲染的作用机制可以简单理解为文本替换操作–使用相应的数据去替换HTML文档中事先准备好的标记。Go语言内置了文本模板引擎text/template和用于HTML文档的html/template原创 2020-05-27 15:47:45 · 709 阅读 · 0 评论 -
Go语言全栈开发:网络编程
现在我们几乎每天都在使用互联网,我们前面已经学习了如何编写Go语言程序,但是如何才能让我们的程序通过网络互相通信呢?本章我们就一起来学习下Go语言中的网络编程。原创 2020-05-26 10:07:31 · 1181 阅读 · 0 评论 -
Go语言全栈开发:并发(下)
并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因。Go语言的并发通过goroutine实现。goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutine并发工作。goroutine是由Go语言的运行时(runtime)调度完成,而线程是由操作系统调度完成。原创 2020-05-25 20:56:51 · 339 阅读 · 0 评论 -
Go语言全栈开发:并发(上)
并发是编程里面一个非常重要的概念,Go语言在语言层面天生支持并发,这也是Go语言流行的一个很重要的原因。Go语言的并发通过goroutine实现。goroutine类似于线程,属于用户态的线程,我们可以根据需要创建成千上万个goroutine并发工作。goroutine是由Go语言的运行时(runtime)调度完成,而线程是由操作系统调度完成。原创 2020-05-21 21:29:29 · 423 阅读 · 0 评论 -
Go语言全栈开发:反射
go语言中反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。在运行程序时,程序无法获取自身的信息。支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口访问反射信息,这样就可以在程序运行期获取类型的反射信息,并且有能力修改它们。原创 2020-05-09 15:49:18 · 368 阅读 · 0 评论 -
Go语言全栈开发:接口
接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现规范的细节。在Go语言中接口(interface)是一种类型,一种抽象的类型。原创 2020-05-07 21:33:37 · 393 阅读 · 0 评论 -
Go语言全栈开发:包作业解答
写一个calc包实现加减乘除四个功能函数,在snow这个包中导入并使用加减乘除四个函数实现数学运算。原创 2020-05-07 21:24:46 · 278 阅读 · 0 评论 -
Go语言全栈开发:包
在工程化的Go语言开发项目中,Go语言的源码复用是建立在包(package)基础之上的。本文介绍了Go语言中如何定义包、如何导出包的内容及如何导入其他包。包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。原创 2020-05-05 09:07:16 · 314 阅读 · 0 评论 -
Go语言全栈开发:结构体作业解答
使用“面向对象”的思维方式用Go语言编写一个学生信息管理系统。学生有id、姓名、年龄、分数等信息程序提供展示学生列表、添加学生、编辑学生信息、删除学生等功能main.gopackage mainimport ( "fmt" "os")func showMenu() { fmt.Println("欢迎来到学员信息管理系统") fmt.Println("1.展示所有学员信...原创 2020-05-04 20:19:38 · 239 阅读 · 0 评论 -
Go语言全栈开发:结构体
文章目录类型别名和自定义类型结构体Go语言中没有“类”的概念,也不支持“类”的继承等面向对象的概念。Go语言中通过结构体的内嵌再配合接口比面向对象具有更高的扩展性和灵活性。类型别名和自定义类型自定义类型在Go语言中有一些基本的数据类型,如string、整型、浮点型、布尔等数据类型, Go语言中可以使用type关键字来定义自定义类型。自定义类型是定义了一个全新的类型。我们可以基于内置的基本...原创 2020-05-04 11:33:41 · 344 阅读 · 0 评论 -
Go语言全栈开发:指针
区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。要搞明白Go语言中的指针需要先知道3个概念:指针地址、指针类型和指针取值。任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。原创 2020-05-03 16:43:35 · 173 阅读 · 0 评论 -
Go语言全栈开发:函数
函数是组织好的、可重复使用的、用于执行指定任务的代码块。本文介绍了Go语言中函数的相关内容,与Python中的函数也进行了详细的对比。原创 2020-05-03 13:38:02 · 185 阅读 · 0 评论 -
Go语言全栈开发:map
Go语言中用map来存储键值对,而Python使用dict进行存储,laingz原创 2020-05-01 17:56:32 · 309 阅读 · 0 评论 -
Go语言全栈开发:切片
在Go语言中切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。切片是一个引用类型,它的内部结构包含地址、长度和容量。切片一般用于快速地操作一块数据集合。而在Python语言中切片是 一种高级特性,常用于截取序列类型的元素,但并不局限于此,它还有自定义对象切片(__getitem__、__setitem__、__delitem__)、以及迭代器切片(调用itertools中的islice)等。原创 2020-04-28 16:34:38 · 204 阅读 · 0 评论 -
Go语言全栈开发:数组
Go语言中数组(array)是固定类型,相比python中的List缺乏灵活但是更加高效。列表List中为了获得这些灵活的类型,里面的每一项必须包含各自的类型信息、引用计数和其他信息;也就是说,每一项都是一个完整的Python 对象,对系统来说是项负担,所以不建议使用List进行较大数组的运算,可以选用C代码编写的Numpy模块。原创 2020-04-27 17:38:00 · 440 阅读 · 0 评论 -
Go语言全栈开发:流程控制
Go语言中最常用的流程控制有if和for,而switch和goto主要是为了简化代码、降低重复代码而生的结构,属于扩展类的流程控制。在Python中if、for除了语法上与Go语言有略微差距,还多了一个while用于循环结构。原创 2020-04-24 21:15:44 · 279 阅读 · 0 评论 -
Go语言全栈开发:运算符
Go语言的运算符中,在算术上比python少了取整除(//)与幂运算(**),在逻辑上使用了&&、||、!(对应python中and、or、not),在位运算上少了按位取反(对应python中~),在赋值运算上多了左右移赋值(对应Go中<<=、>>=)与·按位与.或、异或赋值(对应Go中&=、!=、^=)。至于python中成员运算(in、not in)与身份运算(is、is not)那是独一无二。原创 2020-04-24 15:54:41 · 244 阅读 · 1 评论 -
Go语言全栈开发:基本数据类型
Go语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。而python中主要是数字(整型、浮点型、复数、布尔)、字符串、数组、字典、元组、集合。相比Go更加简洁,使用也更加简单。原创 2020-04-24 14:35:00 · 273 阅读 · 0 评论 -
Go语言开发:变量与常量
由于Go是静态型语言,只是支持部分动态类型推导,所以在变量与常量的使用中都需要用var(在函数中支持短变量声明:=)与const先声明,相比Python(在语法上没有强制定义常量,一般用全字母大写表示)缺乏灵活,但运行更加安全高效。Go中的匿名变量_(多用于占位),与常量计算器iota(const关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次)则独一无二。原创 2020-04-23 14:36:31 · 127 阅读 · 0 评论 -
Go语言开发:VScode搭建开发环境
本文介绍了Go语言的开发环境VScode的搭建过程及其优化操作原创 2020-04-14 17:38:21 · 625 阅读 · 0 评论