![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
go语言基础
go语言学习需要注意地方
一念·
这个作者很懒,什么都没留下…
展开
-
JWT案例实现
JWT互联网服务用户认证流程1、用户向服务器发送用户名和密码。2、服务器验证通过后,在当前对话(session)里面保存相关数据,比如用户角色、登录时间等等。3、服务器向用户返回一个 session_id,写入用户的 Cookie。4、用户随后的每一次请求,都会通过 Cookie,将 session_id 传回服务器。5、服务器收到 session_id,找到前期保存的数据,由此得知用户的身份。这种模式的问题在于,扩展性(scaling)不好。单机当然没有问题,如果是服务器集群,或者原创 2022-02-18 11:03:44 · 1368 阅读 · 0 评论 -
go基础(接口)
Go语言基础(简便总结特别注意的地方)接口在Go语言中接口(interface)是一种类型,一种抽象的类型。1. 接口的定义type 接口类型名 interface{ 方法名1( 参数列表1 ) 返回值列表1 方法名2( 参数列表2 ) 返回值列表2 …}2. 接口的简单应用//定义一个接口type Sayer interface{ say()}//定义一个结构体type cat struct{ name string}//实现叫的方法func (c原创 2022-01-17 21:58:00 · 139 阅读 · 0 评论 -
go基础(结构体)
Go语言基础(简便总结特别注意的地方)1. 类型别名和自定义类型1.1 自定义类型//将MyInt定义为int类型type MyInt int//通过type关键字的定义,MyInt就是一种新的类型,它具有int的特性。1.2 类型别名//rune和byte就是类型别名type byte = uint8type rune = int321.3 类型定义和类型别名//类型定义type NewInt int //type of :main.NewInt//类型别名type M原创 2022-01-16 22:13:02 · 241 阅读 · 0 评论 -
go基础(指针)
Go语言基础(简便总结特别注意的地方)1. 指针1.1 指针地址和指针类型&:用来取对变量取地址如:&v*代表指针,*p 为值 ,p为地址func main() { a := 10 b := &a fmt.Printf("a:%d ptr:%p\n", a, &a) // a:10 ptr:0xc00001a078 fmt.Printf("b:%p type:%T\n", b, b) // b:0xc00001a078 type:*int fmt.P原创 2022-01-16 21:18:12 · 44 阅读 · 0 评论 -
go基础(函数)
Go语言基础(简便总结特别注意的地方)函数1. 函数的定义方式func 函数名(参数)(返回值){ 函数体}//第一种(不含有参数还有返回值)func sayHello() { fmt.Println("Hello 沙河")}//第二种(含有参数和返回值)func intSum(x int, y int) int { return x + y}//第三种(含有参数或者返回值)2. 参数的书写类型//第一种func intSum(x,y int)//第二种原创 2022-01-16 21:00:24 · 92 阅读 · 0 评论 -
go基础(map)
Go语言基础(简便总结特别注意的地方)map1. map的定义make(map[键的类型]值的类型,[cap])//map填充数据的方法a := make(map[string]int,8)a["zxp"] = 18a["wxx"] = 18//第二种b := map[string]int{ "usename" : 100, "password" : 200,}2. 判断键值是否存在// 如果key存在ok为true,v为对应的值;不存在ok为false,v为值类型的零值原创 2022-01-15 22:21:40 · 54 阅读 · 0 评论 -
go基础(切片)
Go语言基础(简便总结特别注意的地方)切片切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。1. 切片的定义var a[] T(T为类型)a := []int(1,2,3,4,5,6)//切片的定义a := [5]int{1, 2, 3, 4, 5}s := a[1:3] // s := a[low:high]fmt.Printf("s:%v len(s):%v cap(s):%v\n", s, len(s), cap(s)原创 2022-01-15 21:16:17 · 238 阅读 · 0 评论 -
go基础(数组)
Go语言基础(简便总结特别注意的地方)数组1. 一维数组1.1 数组的定义var 数组变量名 [元素数量]数组类型//第一种形式var a [3]intvar b [4]int//[5]a 和[10]int 不相等,是不同的类型1.2 数组的初始化//第一种var a = [2]int{}//int类型的零值//第二种var b = [...]int{1,2,3}b := [...]int{1,2,3}//第三种a := [...]{1:2,3:5}//1和3为索原创 2022-01-15 20:27:09 · 114 阅读 · 0 评论 -
go基础(数据类型)
Go语言基础(简便总结特别注意的地方)1. 整型二进制(v := 0b001010)代表二进制1010 占位符表示(%b)八进制(v := 0o377)代表八进制377 占位符表示(%o)十六进制(v := 0xff) 占位符表示(%x)十进制 占位符表示(%d)连接符表示( v := 123_456 = 123456)2. 浮点型(float32 float64)占位符:%f %.2原创 2022-01-15 19:27:57 · 187 阅读 · 0 评论 -
go基础(流程控制)
Go语言基础(简便总结特别注意的地方)1. if else(分支结构)if 条件判断的几种写法//第一种score := 90if score >= 90{ fmt.Println('A') }else if score >=70{ fmt.Println("B") }else{ ... }//第二种if score := 65; score >= 90 { fmt.Println("A") } else if score > 75 { fmt.原创 2022-01-15 20:04:59 · 72 阅读 · 0 评论 -
go基础(变量和常量)
Go语言基础(特别注意的地方)1.标识符和关键字1.1 标识符字母、下划线、数字组成,只能以字母和下划线开头1.2关键字2. 变量2.1 声明格式var 变量名 变量类型//第一种声明格式var name stringvar age intvar ok bool//第二种声明格式var{ name string age int ok bool}2.2 初始化var 变量名 变量类型 = 表达式//第一种格式var name string = "zxp原创 2022-01-15 17:09:07 · 195 阅读 · 0 评论 -
go开发环境
开发环境配置原创 2022-01-15 16:35:48 · 269 阅读 · 0 评论