go
一介白衣ing
。。。
展开
-
golang封装的一些实用函数(二)
废话距离上次博客更新已经有3个月了。说明什么?说明我忙啊。还有呢?说明我这3个月时光虚度了。这篇博客主要讲讲加密相关的吧。正文1. MD5php MD5加密咋实现?一个md5(),那么golang呢?来看看:import ( "crypto/md5" "encoding/hex")func Md5Encode(str string) string { h := md5.New() h.Write([]byte(str)) return hex.EncodeToStri原创 2021-07-14 15:37:46 · 211 阅读 · 2 评论 -
golang封装的一些实用函数(一)
废话As we Know,php的函数库非常强大。大部分的业务场景我们不需要重复造轮子,这个东西吧,有好有坏吧。好处不必说,开发更便捷,底层c实现,效率更高。坏处就是...使用的时候是知其然,不知其所以然。。。废话少说。来几个对比php的golang函数,练练手。正文1.元素是否存在一个切片中判断一个元素有没有在数组中,php使用in_array()函数,那么在golang中,如何判断元素是否存在一个切片中呢?go go go,搞一个 []string 类型的切片:import (原创 2021-07-14 15:10:21 · 516 阅读 · 1 评论 -
go语言数据类型之函数
初识函数是组织好的、可重复使用的、用于执行指定任务的代码块go语言中函数的特点支持不定变参。支持多返回值。支持命名返回参数。支持匿名函数和闭包。函数也是一种类型,一个函数可以赋值给变量。不支持嵌套 一个包不能有两个名字一样的函数。不支持重载。不支持默认参数。定义func 函数名(参数)(返回值){ 函数体}函数名:由字母、数字、下划线组成。但函数名的第一个字母不能是数字。参数:参数由参数变量和参数变量的类型组成,多个参数之间使用,原创 2020-12-17 14:32:12 · 204 阅读 · 3 评论 -
go语言数据类型之指针
初识任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。Go语言中的指针不能进行偏移和运算,因此Go语言中的指针操作非常简单,我们只需要记住两个符号:&(取地址)和*(根据地址取值)。Go语言中的值类型(int、float、bool、string、array、struct)都有对应的指针类型,如:*int、*int64、*string等。取变量指针的语法:ptr := &v // v的类型为T其中:v:代表被取地原创 2020-12-02 17:20:50 · 429 阅读 · 1 评论 -
go语言数据类型之集合map
初识map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。它得内部基于散列表(hash)实现定义语法map[KeyType]ValueTypeKeyType:表示键的类型。ValueType:表示键对应的值的类型。map初始化和赋值方法一:scoreMap := make(map[string]int, 8) scoreMap["张三"] = 90 scoreMap["小明"] = 100 fmt.Println(scoreMa原创 2020-12-02 16:33:52 · 354 阅读 · 0 评论 -
go语言数据类型之切片slice
初识Slice(切片)代表变长的序列,序列中每个元素都有相同的类型。一个slice类型一般写作[]T,其中T代表slice中元素的类型;slice的语法和数组很像,只是没有固定长度而已,slice在底层引用了一个数组对象。长度和容量slice的长度对应slice中元素的数目;长度不能超过容量,容量一般是从slice的开始位置到底层数据的结尾位置。内置的len和cap函数分别返回slice的长度和容量。slice的切片操作s[i:j],其中0 ≤ i≤ j≤ cap(s),用于创建一个新的sli原创 2020-12-02 15:47:09 · 415 阅读 · 2 评论 -
go语言数据类型之数组array
初识数组是一个由固定长度的特定类型元素组成的序列,一个数组可以由零个或多个元素组成。因为数组的长度是固定的,因此在Go语言中很少直接使用数组。通常会使用对应的类型slice(切片)数组的每个元素可以通过索引下标来访问,索引下标的范围是从0开始到数组长度减1的位置。内置的len函数将返回数组中元素的个数。默认情况下,数组的每个元素都被初始化为元素类型对应的零值,对于数字类型来说就是0。我们也可以使用数组字面值语法用一组值来初始化数组:var q [3]int = [3]int{1, 2, 3}v原创 2020-12-01 21:30:37 · 386 阅读 · 0 评论 -
go语言之常量
常量常量表达式的值在编译期计算,而不是在运行期。每种常量的潜在类型都是基础类型:boolean、string或数字。(常量范围目前只支持布尔型,数字型(整型,浮点型,复数)和字符串型)常量的定义常量定义上可以分为显式和隐式:显式:const identifier [type] = value隐式:const identifier = value // 通常叫无类型常量组合的方式定义:const( cat string = "猫" dog = "狗" go原创 2020-12-01 21:13:42 · 83 阅读 · 0 评论 -
go语言数据类型之数值类型
整型整型分为以下两个大类: 按长度分为:int8、int16、int32、int64对应的无符号整型:uint8、uint16、uint32、uint64其中,uint8就是我们熟知的byte型十进制整数打印 var a int = 10 fmt.Printf("%d \n", a)浮点型Go语言支持两种浮点型数:float32和float64。这两种浮点型数据格式遵循IEEE 754标准: float32 的浮点数的最大范围约为 3.4e38,可以使用常量定义:math.MaxFlo原创 2020-12-01 20:31:55 · 573 阅读 · 0 评论 -
go语言数据类型之字符串string
初识一个字符串是一个不可改变的字节序列。文本字符串通常被解释为采用UTF8编码的Unicode码点(rune)序列。内置的len函数len函数可以返回一个字符串中的字节数目(不是rune字符数目),索引操作s[i]返回第i个字节的字节值s := "hello, world"fmt.Println(len(s)) // "12"fmt.Println(s[0], s[7]) // "104 119" ('h' and 'w')ss := "你好,世界"fmt.Println(len(ss原创 2020-12-01 19:50:25 · 673 阅读 · 0 评论 -
go语言开篇之如何入门
写在前面万丈高楼平地起,勿以浮沙筑高台。学习一门语言或者新技术、新知识,就像盖房子,必须要打好基础。盖房子如果基础打的不好,房子盖的越高越难盖,房子的寿命也不会长,早晚会塌。就像武侠小说里面的绝世武功,练习者必须要先习得内功心法,再去研习一些精妙的招数,这样武功才会达到上乘境界。学习一门语言也是一样,我们必须要脚踏实地,从最基础的语言结构、语法学起,切忌急于求成。这里我们只讲go语言该如何入门,当然其他的计算机语言也是一样的道理。如果在学习go语言之前,你已经掌握了一两门语言,并且对C语言的基础语法和语原创 2020-12-01 19:03:30 · 219 阅读 · 0 评论 -
由于国内网络原因,go get包报错或者是下载慢的问题
使用Go模块代理[Goproxy 中国](https://goproxy.cn/),轻松解决原创 2020-11-06 11:48:35 · 236 阅读 · 0 评论