![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go学习
文章平均质量分 55
OAOII
(づ ●─● )づ
展开
-
Go 协程
Go 协程Go 协程1.进程和线程2.Go协程和Go主线程3.channel3.1 问题3.2 channel3.3使用细节和注意事项(1)只读或只写(2)阻塞和select(3)panic和recoverGo 协程1.进程和线程进程是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位。线程是进程的一个执行实例,是程序执行的最小单位,是比进程更小的能单独执行的基本单位。一个进程可以创建和销毁多个线程,同一个进程中的线程可以并发执行。一个程序至少有一个进程,一个进程原创 2021-10-06 20:58:04 · 971 阅读 · 0 评论 -
Go 数组和切片
数组和切片1.数组(1)数组的定义var arr1 [3]int = [3]int{1,2,3}var arr2 = [3]int{1,2,3}var arr3 = [...]int{1,2,3}var arr4 = [...]int{0: 1, 1: 2, 2: 3}(2)数组的遍历func main() { arr := [...]int{1,2,3} //法一 for i:=0;i<len(arr);i++ { fmt.Println(arr[i]) } //法二原创 2021-09-26 20:44:18 · 107 阅读 · 0 评论 -
Go 字符串常用系统函数
字符串常用系统函数1.统计长度len(str)2.字符串遍历r := []rune(str)例:func main() { s := "hello world" r := []rune(s) for i := 0; i < len(s); i++ { fmt.Printf("%c",r[i]) }}3.字符串转整数str := strconv.Atoi(s)例:func stringAtoi(s string) { n, err := strconv.Ato原创 2021-09-24 18:24:36 · 141 阅读 · 0 评论 -
Go defer延时机制
defer延时机制为了在函数执行完毕后,及时释放资源,Go提供了defer延时机制。案例1:func Add(n1 int, n2 int) int{ defer fmt.Println("n1 =",n1) defer fmt.Println("n2 =",n2) sum := n1+n2 fmt.Println("sum1 =",sum) return sum}func main() { sum := Add(2,3) fmt.Println("sum2 =", sum)}原创 2021-09-23 22:29:42 · 104 阅读 · 0 评论 -
Go匿名函数和闭包
Go匿名函数和闭包1.匿名函数匿名函数即没有名字的函数,一般用于只使用一次的函数,或者直接用变量调用的函数。方法一:在定义函数时直接调用,此函数只能调用一次。func main() { a := func(n1 int, n2 int) int{ return n1 + n2 }(2,3) fmt.Println(a)}方法二:将匿名函数赋给一个变量(函数变量),再通过变量调用匿名函数。func main() { a := func(n1 int, n2 int)原创 2021-09-23 22:13:34 · 370 阅读 · 0 评论 -
Go指针简单理解
指针简单的例子:func main() { var a int = 10 var b *int = &a fmt.Println("a=", a) fmt.Println("&a=", &a) //fmt.Println("*a=", *a) fmt.Println("b=", b) fmt.Println("&b=", &b) fmt.Println("*b=", *b)}/* a= 10 &a= 0xc0000160原创 2021-09-22 21:33:32 · 114 阅读 · 0 评论 -
Go基本数据类型和String转换
基本数据类型和String转换1.基本类型 -> string法一:fmt.Sprintf()func main() { func main() { var t1 int = 1 var t2 float64 = 1.1 var t3 bool = false var t4 byte = 't' var str string //int str = fmt.Sprintf("%d", t1) fmt.Printf("%T %v\n", str, str) //float原创 2021-09-22 20:43:18 · 553 阅读 · 0 评论