会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
微客鸟窝
公众号《微客鸟窝》笔者,目前从事web后端开发,涉及语言PHP、golang!获得美国《时代周刊》2006年度风云人物!
博客园
首页
新随笔
联系
订阅
管理
随笔 - 105
文章 - 37
评论 - 1
阅读 -
83502
[置顶]
Go通关03:控制结构,if、for、switch逻辑语句
摘要: if 条件语句 func main() { i:=6 if i >10 { fmt.Println("i>10") } else if i>5 && i<=10 { fmt.Println("5<i<=10") } else { fmt.Println("i<=5") } } 注意: if 后的表达
阅读全文
posted @ 2021-08-02 11:55 微客鸟窝
阅读(129)
评论(0)
推荐(0)
2021年8月16日
Go通关14:参数传递中,值、引用及指针之间的区别
摘要: 值类型、引用类型 1、在Go语言中,值类型和引用类型有以下特点: a、值类型:基本数据类型,int,float,bool,string,以及数组和struct 特点:变量直接存储值,内存通常在栈上分配,栈在函数调用完会被释放 b、引用类型:指针,slice,map,chan,interface等都是
阅读全文
posted @ 2021-08-16 10:42 微客鸟窝
阅读(540)
评论(0)
推荐(0)
2021年8月15日
Go通关13:究竟在什么情况下才使用指针?
摘要: 什么是指针 我们都知道,程序运行时的数据是存放在内存中的,每一个存储在内存中的数据都有一个编号,这个编号就是内存地址。我们可以根据这个内存地址来找到内存中存储的数据,而内存地址可以被赋值给一个指针。我们也可以简单的理解为指针就是内存地址。 指针的声明和定义 在Go语言中,获取一个指针,直接使用取地址
阅读全文
posted @ 2021-08-15 09:46 微客鸟窝
阅读(308)
评论(0)
推荐(1)
2021年8月14日
Go通关12:如何写出高效的并发模式?
摘要: 对于并发操作,前面我们已经了解到了 channel 通道、同步原语 sync 包对共享资源加锁、Context 跟踪协程/传参等,这些都是并发编程比较基础的元素,相信你已经有了很好的掌握。今天我们介绍下如何使用这些基础元素组成并发模式,更好的编写并发程序。 for select 无限循环模式 这个模
阅读全文
posted @ 2021-08-14 10:35 微客鸟窝
阅读(201)
评论(0)
推荐(1)
2021年8月13日
Go通关11:并发控制神器之Context深入浅出
摘要: 协程如何退出 一个协程启动后,一般是代码执行完毕,自动退出,但是如果需要提前终止怎么办呢? 一个办法是定义一个全局变量,协程中通过检查这个变量的变化来决定是否退出。这种办法须要加锁来保证并发安全,说到这里,有没有想的什么解决方案? select + channel 来实现: package main
阅读全文
posted @ 2021-08-13 11:52 微客鸟窝
阅读(351)
评论(0)
推荐(0)
2021年8月12日
Go通关10:并发控制,同步原语 sync 包
摘要: 除了上一节我们介绍的 channel 通道,还有 sync.Mutex、sync.WaitGroup 这些原始的同步机制来,更加灵活的实现数据同步和控制并发。 资源竞争 所谓资源竞争,就是在程序中,同一块内存同时被多个 goroutine 访问。对于这个共享的资源(内存)每个 goroutine 都
阅读全文
posted @ 2021-08-12 09:45 微客鸟窝
阅读(206)
评论(0)
推荐(0)
2021年8月11日
Go通关09:并发掌握,goroutine和channel声明与使用!
摘要: 什么是进程、线程 进程就是一个应用程序的工作空间,比如你打开的QQ,微信,工作空间包含了该程序运行所需的所有资源。而线程是进程中的执行单位,一个进程最少有一个线程。 进程与线程对比 进程是系统资源分配和调度的最小单位 线程是程序执行的最小单位 一个进程由一个或多个线程组成,线程是进程中代码的不同执行
阅读全文
posted @ 2021-08-11 09:29 微客鸟窝
阅读(307)
评论(0)
推荐(0)
2021年8月10日
Go通关08:断言、反射的理解与使用
摘要: 接口断言 提到接口断言,我们先回顾下怎么实现接口? 接口的实现者必须是一个具体类型 类型定义的方法和接口里方法名、参数、返回值都必须一致 若接口有多个方法,那么要实现接口中的所有方法 对于空接口 interface{} ,因为它没有定义任何的函数(方法),所以说Go中的所有类型都实现了空接口。 当一
阅读全文
posted @ 2021-08-10 09:38 微客鸟窝
阅读(646)
评论(0)
推荐(0)
2021年8月7日
Go通关07:错误处理,如何通过error/panic处理错误?
摘要: 错误 在Go语言中,错误并不是非常严重,它是可以预期的,可以返回错误给调用者自行处理。 error 接口 在Go语言中,错误是通过内置的error接口来表示的,它只有一个Error方法来返回错误信息: type error interface { Error() string } 这里演示一个错误的
阅读全文
posted @ 2021-08-07 10:04 微客鸟窝
阅读(577)
评论(0)
推荐(0)
2021年8月5日
Go通关06:struct和interface,结构体和接口的使用
摘要: 结构体 定义 结构体是种聚合类型,里面可以包含任意类型的值,这些值就是结构体的成员,或成为字段,定义结构体,需要使用 type+struct 关键字组合 type person struct { //人结构体 name string //人的名字 age uint //人的年龄 } type 与 s
阅读全文
posted @ 2021-08-05 20:25 微客鸟窝
阅读(451)
评论(0)
推荐(0)
2021年8月4日
Go通关05:函数和方法的不同之处!
摘要: 函数 函数声明 func funcName(params) result { body } 关键字 func 用于声明一个函数 funcName 函数名 params 函数的参数 result 是函数的返回值,可以返回多个返回值,如果没有可以省略。 body 函数体 示例 1. a、b形参类型一致,
阅读全文
posted @ 2021-08-04 11:18 微客鸟窝
阅读(122)
评论(0)
推荐(0)
下一页
公告
<
2025年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
/* 看板娘 */
点击右上角即可分享