- 博客(5)
- 收藏
- 关注
原创 [golang]json数据解码的两种方法 NewDecoder与UnMarshal
1.json.UnMarshal方式解码func HandleUse(w http.ResponseWriter, r *http.Request) { var u Use //此处的Use是一个结构体 data, err := ioutil.ReadAll(r.Body)//此处的r是http请求得到的json格式数据-->然后转化为[]byte格式数据. if err != nil { w.WriteHeader(http.StatusBadReque
2021-11-01 11:56:56
1467
原创 【golang】使用iota
iota是golang语言的常量计数器,只能在常量的表达式中使用。iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。使用iota能简化定义,在定义枚举时很有用。1、iota只能在常量的表达式中使用。fmt.Println(iota)编译错误: undefined: iota2、每次 const 出现时,都会让 iota 初始化为0.const a = i.
2021-10-31 16:25:09
3386
原创 golang 之unsafe.Sizeof()
func Test2(t *testing.T) { var test string="abc" fmt.Println("len(test):",len(test)) fmt.Println("unsafe.Sizeof(test):",unsafe.Sizeof(test))}结果:len(test): 3unsafe.Sizeof(test): 16len(test)的结果为3很容易理解,因为string的底层是通过byte数组实现的,test=“abc”为3个字节,因..
2021-10-31 15:29:41
442
原创 [golang]浅谈rune数据类型
func Test1(t *testing.T){ var s="hello 你好" fmt.Println("len(s):",len(s))}golang中string的底层实现是通过byte数组实现的。中文字符在unicode下是占2个字节,在utf-8下占3个字节,而golang默认编码是utf-8类型运行结果如下图结果为12=5+1+2*3若我们想要得到字符串的长度,而不是字符串底层所占的字节数时应该怎么操作呢func Test1(t *testing.T..
2021-10-31 15:09:42
128
原创 go语言学习-- chan与goroutine
chan在go语言中相当于一个文件操作符,使用完成之后需要使用Close()函数关闭。下面这段代码有两个chan,ch1是一个chan int类型,ch2是一个chan bool类型,ch1被write()函数写入10个数,被read()函数读取,ch2其实是为了防止main所在的goroutine提前退出用的。func consumer(data chan int,done chan bool){ for{ fmt.Println("receive :",<-data) } d
2021-10-31 11:51:43
387
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人