seo门户网站建设方案,深圳 购物商城网站建设,网页制作教材,网盟推广是什么一、空结构体基础 
空结构实例 和 空结构体变量 本质是一样的 
1、所有空结构体地址都是一样的2、大小都为0#xff08;最独特的#xff09; 
package mainimport (fmttimeunsafe
)type EST struct {
}func main() {// 一、基础// 空结构…一、空结构体基础 
空结构实例 和 空结构体变量 本质是一样的 
1、所有空结构体地址都是一样的2、大小都为0最独特的 
package mainimport (fmttimeunsafe
)type EST struct {
}func main() {// 一、基础// 空结构实例 和 空结构体变量 本质是一样的// 1、所有空结构体地址都是一样的// 2、大小都为0最独特的var a ESTvar b struct{}fmt.Printf(a address %p, size %d \n, a, unsafe.Sizeof(a))fmt.Printf(b address %p, size %d \n, b, unsafe.Sizeof(b))if a  b {fmt.Println(......)}
} 输出结果 a address 0x10030c028, size 0 b address 0x10030c028, size 0 … 二、应用场景一 充当 set 
package mainimport (fmttimeunsafe
)type EST struct {
}func main() {// 二、应用场景一充当 setset : make(map[string]interface{}, 10)set[A]  EST{}set[B]  struct{}{}fmt.Println(len(set))for k, _ : range set {fmt.Println(k)}
} 
三、应用场景二 协程阻塞 
1、协程阻塞的三种方式 
1、一种是通过 waitGroup通过调wait函数把本协程阻塞掉2、通过 time.Sleep()3、使用 管道 channel 读写阻塞 
2、channel方式阻塞 main 
package mainimport (fmttimeunsafe
)type EST struct {
}func main() {// 三、应用场景二协程阻塞// 1、一种是通过 waitGroup通过调wait函数把本协程阻塞掉// 2、通过 time.Sleep()// 3、使用 管道 channel 读写阻塞// 下面展示为channel方式阻塞 mainctra : make(chan EST, 0)go func() {time.Sleep(3 * time.Second)fmt.Println(等待子协程执行完成)ctra - EST{}}()fmt.Println(---------)-ctra
}