func

收录了 6 篇文章 · 0 人关注

  • golang语言并发与并行——goroutine和channel的详细理解(一)

    如果不是我对真正并行的线程的追求,就不会认识到Go有多么的迷人。 Go语言从语言层面上就支持了并发,这与其他语言大不一样,不像以前我们要用Thread库 来新建线程,还要用线程安全的队列库来共享数据。 以下是我入门的学习笔记。 Go语言的goroutines、信道和死锁 goroutine Go语言中有个概念叫做goroutine, 这类似我们熟知的线程,但是更轻。 以下的程序,我们串行地去执行两次loop函数: func loop() { for i := 0; i < 10; i++ { f...

  • Go 位运算

    // xuhh_go_位运算符 project main.go /* 位移操作 << : 向左移位 可以看做是 乘以2的几次方 位移操作 >> : 向右移位 可以看做是 除以2的几次方 and操作 & : 都为1 才是1 or 操作 | : 只要有一个是1 那么就是1 取反 ^ :有一个为1 则 就是1 两个1 或者两个0 全是 0 标志位操作 &^ : a &^ b = (a^b) & b 其实就是清除标记位 (将a中为1的位 如果b中相同位置也为1,则将a中该位置修改为0,a中其他位不变) ...

  • Golang file 操作

    概述 这里主要简单介绍了一下在 Go 中,file 的操作。 image 简单的分为:读,写,其他,三部分 首先先说其他部分(创建,截取,复制,下载,hash) 我自己定义了一个检查错误的方法,很多地方会用到, 非常简单,如下: func check(err error){ if err != nil { panic(err) } } 创建 newfile, err := os.Create(writerfilename) // 给定一个文件名称 check(err) 会调用 os 包的 Cre...

  • golang byte 操作

    21天精品区块链课程免费学习,深入实战行家带路,助力开发者轻松玩转区块链! >>> byte数组转int // bytes to int 32 func bytesTo32Int(b []byte) int { buf := bytes.NewBuffer(b) var tmp uint32 binary.Read(buf, binary.BigEndian, &tmp) return int(tmp) } // bytes to int 16 func bytesTo16Int(b []byt...

  • golang学习的点点滴滴:range使用总结

    1、当range作用于string时, 第一个返回值为index,第二次是char         str := "hello world" for index, ch := range str { fmt.Printf("%d --- %c\n", index, ch) } 2、当range作用于array时, 第一个返回值为index,第二次是value func PrintArray(array [5]int) { for index, res := range ...

  • golang 使用 iota

    iota是golang语言的常量计数器,只能在常量的表达式中使用。 iota在const关键字出现时将被重置为0(const内部的第一行之前),const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。 举例如下: 1、iota只能在常量的表达式中使用。 fmt.Println(iota) 编译错误: undefined: iota 2、每次 const 出现时,都会让 iota 初始化为0. const a ...