首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Go
程序员读书
创建于2022-04-19
订阅专栏
收录我的与Go相关的文章
等 106 人订阅
共63篇文章
创建于2022-04-19
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Go Web如何处理Web请求?
我们知道,一个HTTP事务由请求和响应构成,这篇文章中,我们单讲有关Web请求的部分。 客户端一般是通过一个URL向服务器发起请求,最简单的比如在浏览地址栏输入:https://juejin.im。 每一个Web请求都包括三个部分:请求行、请求头、请求实体。 GET,POST,…
Go Web开发入坑指南
在Go语言中开发Web应用,真的是一件非常简单的事情,因为Go语言标准库中就有非常成熟且简单的Web开发包:net/http。 net/http封装了开发Web应用所需要的大部分功能,因此,在Go语言中使用net/http开发Web应用程序时,我们甚至都不用像其他语言(比如PH…
Golang反射技术初始入门
反射是Go语言学习中一个比较难的点,需要好好探索一下。 我们知道,无论是int,float,bool等基础数据类型,亦或是array,slice,map,chan等引用类型,当使用这些类型来定义的变量,在程序编译时,编译器已经知道变量的具体类型和具体值。 但很多时候,当我们使用…
Golang学习笔记(二十):深入学习Channel
channel是Go语言中gotoutine之间数据通讯的机制。 可以使用内置函数make()初始化channel类型。 使用close()函数关闭channel关闭后,不能再往channel发送信息。 好了,简单复习了一下,下面开始深入的学习吧。 此时所创建的channel只…
Golang学习笔记(十九):Channel初步接触
Go语言是原生支持并发编程的,而Channel正是Go语言中实现并发不可或缺的类型,一起来学习一下吧。 channel来实现。 channel是Go语言中的一种特殊类型,我们可以声明一个channel可以发送的类型,然后通过向channel发送或接收值到达通讯的目的。 经过ma…
Golang学习笔记(十八):并发编程初体验
Go语言是在语言层级上支持并发编程的,也就是原生编程,其他的编程语言实际并发编程需要借一些扩展库,而Go语言不需要。 传统的并发编程模型,即多线程并发模型,不同的线程之间通过共享内存来达到线程通信的目的。 而Go语言虽然也支持通过锁的模式来实现传统并发模型,但在Go语言中,更强…
Golang学习笔记(十七):len函数
其作用是用于计算数组(包括数组指针)、切片(slice)、map、channel、字符串等数据类型的长度,注意,结构休(struct)、整型布尔等不能作为参数传给len函数。 在处理字符串时,经常需要知道字符串的字符数,但len()只计算字符串字节数,因此我们可以自定义处理字符…
Golang学习笔记(十六):错误机制
在Go语言中,除基本数据类型(int,float,boolean,string)、复合型(struct,array)和引用类型(slice,map,指针,channel,function)外,还有一种内置的数据类型:error。 error是Go语言的内置类型,因此就像int等…
Golang学习笔记(十五):字符串
Go语言中的字符串类型,是最常用一种基础数据类型,当我们开发应用程序的时候,大部分时候都会使用到字符串。 另外一种字符串的字面量表示是使用反引号``包含字符串,这种包含方式使用得里面的所有字符都不会发生转义,而按原生字符显示。 字符串也可以看作一个字符切片,通过使用len()函…
Golang学习笔记(十四):Switch语句
Go语言中的switch语句与if语句一样,用于条件判断,在Go语言中,对于像其他语句中需要使用if...else if进行多重判断的逻辑,推荐使用switch语句来判断。 switch的一般格式如下所示,其中expr可以是任意类型的值,switch语句会将expr与case分…
Golang学习笔记(十三):布尔型
布尔型(bool)是Go语言中最简单了数据类型,bool数据类型只有两个取值:true或false。 布尔型的零值是false。 Go语言中的控制结构语句if,for,由这个表达式得到true或false来决定如何是否执行。
Golang学习笔记(十二):接口的声明与使用
如同Java,PHP等面向对象的编程语言的接口一样,Go也内置有接口类型,为面向对象提供有力支持,但与其他编程语言还是有很多不一样的地方,下面来学习一下。 Go提供了丰富的数据类型,如整型、浮点型等基础类型和struct,slice,array,map,channel,func…
Golang学习笔记(十一):函数的可变参数
我们在调用fmt.Println()函数时,可以传进任意数量的参数。 以fmt.Println()为例,我们看到,可变参数的形式如下,在类型前面加上...符号。 在上面的例子,变量a在函数内部可以看[]int类型,因此可以使用for...range遍历,下面就可以调用该函数计算…
Golang学习笔记(十):方法
传统编程语言,如Java,C++或PHP,对面向对象都提供了支持,一般的面向对象编程,主要是定义一个个抽象的类,然后再通过实例化一个个的对象,但是,Go语言虽然提供了面向对象的支持,但与传统语言并不相同,这可能是许多从其他编程语言转过来的程序员不太应Go语言的原因。 下面来讲讲…
Golang学习笔记(九):函数
什么是函数?函数是一个打包好的语句序列单元,我们将多个语句逻辑定义成为一个函数,这样方便我们在程序中多次调用,而在Golang语言,函数更是一等公民,在我们的开发中随处可见。 其中,如果函数多个形参或返回值的数据类型一致,则前面的参数可以省略类型,如果没有返回值,则返回值列表可…
Golang学习笔记(八):Map
Map,也称为哈希表,是Go语言为我们提供的另一种很实用的数据结构,它表示一个无序的key/value对集合,哈希表中的每个key值都是唯一的,我们可以通过map中key值检索、更新、删除对应的value值。 Map是引用类型,底层引用了一个哈希表,map类型可用map[K]V…
Golang学习笔记(七):Slice
Slice,也叫切片,是一种存储特定类型的不定长序列,与数组相似,所不同的是,数组是定长的,而切片可以动态扩展,因此比数组灵活很多,一般使用[]T表示一个切片,其中的T表示类型。 另外,数组是值类型,在传给函数时,会复制一个数组的副本,当数组很大的时候,会消耗很多内存,而切片是…
Golang学习笔记(六):结构体
结构体与数组一样,属于聚合类型,结构体可以包含零个或任意个类型的值。而这些值则称为结构体的成员。 结构体使用struct关键字进行定义声明,下列代码中声明一个名称为User结构体,用于表示一个用户信息,声明结构体后,便可以用于定义结构体变量。 定义好结构体后,便可以使用该结构体…
Golang学习笔记(五):数组
Go语言中的数组,与结构体一样,是一种复合数据类型,也是一种固定长度存放特定类型的序列,这一节,让我们一起来来学习一下吧。 Go数组有两个特征,一:固定长度,数组声明后长度便不能再修改,所以不灵活,在Go语言中,更多的是使用与数组相似的Slice类型,但Slice的底层是数组,…
Golang学习笔记(四):数据类型
Go语言内置了丰富的数据类型,主要分为四类,基础数据类型、复合数据类型,引用数据类型及接口数据类型,另外,在这些类型的基础,也支持我们根据自己的数据类型,这就为我们编写代码提供很大的便利性。 这一节,我们先学一下基础数据类型中的整数类型。 整数类型分两种,有符号:int8,in…
下一页