GO
Ares82219102
吾生也有涯,而知也无涯
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
GO-并发编程
一、Linux进程之间的通信方式 1.基于数据传送:管道(字节流)、消息队列(结构化对象) 2.基于共享内存:共享内存区 3.异步IPC:操作系统的信号机制(signal) 4.同步IPC:信号量(semaphore) 5.套接字(socket) 6.管道(pipe) go语言支持的IPC:pipe、signal、socket goroutine之间的通信方式:channel 二、程序、进程、线程、goroutine之间的区别 程序:存储在磁盘中的静态文件 进程:资源分配的最小单位 线程:CPU调度的最小原创 2021-10-07 20:22:28 · 663 阅读 · 0 评论 -
GO-io库
golang-io库ioio/fsio/ioutil io TeeReader 的一心二用(边读编写) MultiReader 的先来后到(顺序读取) MultiWriter 的同甘共苦(写一即多) Pipe 的绝不先做(写->读->写->读->…) 创建读取器,即实现io.Reader接口 r := strings.NewReader("some io.Reader stream to be read") r1, _ := os.Open("D:\\project\\go_pro原创 2021-10-05 17:01:29 · 2115 阅读 · 0 评论 -
GO-反射
Go语言-反射一、什么是反射二、反射的两种基本类型(Value/Type)三、Value.Type()/Kind()四、Value.Interface()五、Value.Elem()六、Value.Set()七、结构体与反射 一、什么是反射 反射是程序在运行时检查、修改自身结构和行为的能力 在Go中,一切皆类型,反射也是一种类型 二、反射的两种基本类型(Value/Type) //Type和Value是反射的两种基本类型 type Type interface {...} type Value struct原创 2021-10-05 16:36:28 · 305 阅读 · 0 评论 -
GO-结构体
package main import "fmt" //定义结构体 type Profile struct{ name string age int gender string mother *Profile father *Profile } //定义结构体方法,以值做为方法接收者,无法改变实例属性 //当方法的首字母为大写时,这个方法对于所有包都是Public,其他包可以随意调用 //当方法的首字母为小写时,这个方法是Private,其他包是无法访问的。 //结构体嵌套,实现“继承”..原创 2021-01-03 18:09:46 · 184 阅读 · 0 评论 -
GO-指针
package main import "fmt" //指针 func f1(){ //&:取地址运算符 //*:取值运算符 name := "hello,world" p1 := &name p2 := new(string) *p2 = name var p3 *string p3 = &name fmt.Printf("%v, %T\n", name, name) fmt.Printf("%v, %T\n", p1, p1) fmt.Print原创 2021-01-03 17:45:14 · 212 阅读 · 0 评论 -
GO-数组、切片、字典
package main import "fmt" //数组 func f1(){ //Go语言中数组是值类型,大小固定,数组之间的赋值是值拷贝,而不是地址的拷贝 //切片是引用类型,大小可变 var arr1 [3]int = [3]int{1,2,3} arr2 := [3]int{4,5,6} arr3 := [...]int{7,8,9} arr4 := [3]int{} arr5 := [...]int{} arr6 := [9]int{5:3} arr7 := [9]b原创 2021-01-03 17:19:51 · 320 阅读 · 1 评论 -
GO-基础变量类型
package main import( "fmt" "unsafe" ) //匿名变量:下划线"_",通常我们用匿名接收必须接收,但是又不会用到的值。 //变量声明 func f1(){ var v1 string = "v1" var v2 = "v2" v3 := "v3" //只能用于函数内部 v4, v5 := "v4", "v5" var ( v6 string = "v6" v7 string = "v7" ) //一般用于声明全局变量 fmt.Println(v原创 2020-12-27 19:23:08 · 231 阅读 · 0 评论
分享