
Go语言学习
Android系统攻城狮
《Android系统多媒体进阶实战》一书作者
展开
-
Mac上搭建Go语言环境及第一个hello.go程序
Golang是Google开发的一种编译型,平行化,具有垃圾回收功能的编译语言,还和C一样有指针。Golang是天生的网络编程语言,学习使用Golang先从环境配置开始。1.源码安装:https://golang.org/project/2.通过Homebrew安装 # brew install go3.设置GOPATH/GOROOT/PATH的环境变量 查看go原创 2017-08-17 22:43:32 · 1972 阅读 · 0 评论 -
Go语言之旅
开始学习原创 2018-07-26 16:30:59 · 1586 阅读 · 0 评论 -
Mac上Go环境配置
export GOPATH=/Users/xxx/demo_test/go #自己的工程项目目录export GOROOT=/usr/local/Cellar/go/1.8.3/libexecexport PATH=$PATH:${GOPATH}/bin:${GOROOT}/bin原创 2018-07-05 10:37:41 · 1189 阅读 · 0 评论 -
Go本地浏览Web服务器
1.在终端执行# godoc -http=:6060 2.在浏览器输入http://localhost:6060原创 2018-07-04 18:50:31 · 839 阅读 · 0 评论 -
Go两个协程生产消费者模型
package mainimport ("fmt";"runtime")// 生产者:生成数据func numGen(start, count int, out chan<- int) { for i := 0; i < count; i++ { fmt.Printf("send: %d\n", start) out <- start start = ...原创 2018-07-04 15:50:53 · 550 阅读 · 0 评论 -
Go打印函数名/文件名/行号
package mainimport ("fmt";"runtime")/*golang 的runtime库,提供Caller函数,可以返回运行时正在执行的文件名和行号:函数定义:func Caller(skip int) (pc uintptr, file string, line int, ok bool) {}函数用法:_, file, line, ok := runtim...原创 2018-07-04 15:42:00 · 7010 阅读 · 0 评论 -
Go一个协程实现加法demo
package mainimport ("fmt")func sum(x, y int, c chan int) { c <- x + y}func main() { c := make(chan int) go sum(12, 13, c) fmt.Println(<-c) }原创 2018-07-04 15:26:34 · 903 阅读 · 0 评论 -
理解Go的Goroutine和channel
原址 进程,线程的概念在操作系统的书上已经有详细的介绍。进程是内存资源管理和cpu调度的执行单元。为了有效利用多核处理器的优势,将进程进一步细分,允许一个进程里存在多个线程,这多个线程还是共享同一片内存空间,但cpu调度的最小单元变成了线程。那协程又是什么东西,以及与线程的差异性??协程,可以看作是轻量级的线程。但与线程不同的是,线程的切换是由操作系统控制的,而协程的切换则是由用户控制的。最早支...转载 2018-07-03 17:14:05 · 296 阅读 · 0 评论 -
Go实战--golang中defer的使用
原址生命不止,继续 go go go !!!学习golang这么久了,还没看到类似传统的 try…catch…finally 这种异常捕捉方式。 但是,Go中引入的Exception处理:defer, panic, recover。那么今天跟大家分享一下golang中的defer。闲言少叙,看一下defer的作用:Defer is used to ensure that a function ca...转载 2018-07-03 16:53:30 · 354 阅读 · 0 评论 -
Go回调函数使用
package mainimport "fmt"type Callback func (x, y int) int//提供一个接口,让外部去实现func test(x, y int, callback Callback) int { return callback(x, y)}func add(x, y int) int { return x + y}func ma...原创 2018-07-03 16:04:44 · 1284 阅读 · 0 评论 -
Go接口(Interface)的使用方法
1.demo_1.gopackage mainimport "fmt"type Shaper interface {//定义接口 Area() float32}type Square struct {//结构体 side float32}func (sq *Square) Area() float32 {//接口方法 return sq.side * sq.side}...原创 2018-07-03 15:50:29 · 770 阅读 · 0 评论 -
Mac上go环境变量配置
# sudo emacs /etc/profile# export GOROOT=/usr/local/Cellar/go/1.8.3/libexec# export GOPATH=/usr/local/Cellar/go# export GOBIN=/usr/local/Cellar/go/1.8.3/bin原创 2018-06-27 16:28:38 · 2056 阅读 · 0 评论 -
Go使用自定义包
1.demo.go代码package mainimport ("./pac")func main() { pack.Printt("Hello")}2.在同级目录下创建pac目录,在pac目录下创建pac.gopackage packimport ("fmt")func Printt(x string) { fmt.Printf(x + " Go World.\n...原创 2018-06-27 16:14:54 · 1131 阅读 · 0 评论 -
Go搭建REPL环境
1.下载、编译所依赖的gore,然后加入Mac系统路径# git clone git@github.com:motemen/gore.git# cd gore# sudo go build# sudo cp gore /usr/local/bin# gore //执行即可原创 2018-06-22 15:13:16 · 1199 阅读 · 0 评论 -
Go语法练习example(全)
进入练习原创 2018-03-01 17:10:56 · 974 阅读 · 0 评论 -
Go实现 爬虫v0.2
原址在之前上一版本中,我们通过最简单的 Get 请求获取了网页地址,并解析出图片地址,然后再通过 Get 请求获取了图片内容。接下来的问题是,对于有登陆限制的网页,登陆之前是看不到相关信息的,那么对于这一类网页该如何处理呢?1. HTTP 请求与响应的格式参见这篇文章,我们知道,在浏览器发出 Get 或 Post 请求时,请求的格式大致如下:<request-line><hea...转载 2018-03-01 16:17:02 · 454 阅读 · 0 评论 -
Go实现 爬虫v0.1
原址学了一些 Go 的基本语法之后,深觉进一步的深入还是该靠实际项目来锻炼。小目标是逐步写完一个爬虫,以此来学习 Go 中的相关标准库以及 goroutine、channel 的使用。1. http.Get()Go 标准库 net/http 下的 http.Get() 方法定义如下func Get(url string) (resp *Response, err error) { retu...转载 2018-03-01 16:13:17 · 428 阅读 · 0 评论 -
Mac安装IntelliJ IDEA配置go语言环境
1.在Mac上安装Go环境# brew install go2.下载安装IntelliJ IDEA下载地址:https://www.jianshu.com/p/3c87487e71213.安装go语言插件 ---->打开IntelliJ IDEA ---->Configure ---->Plugins ---->...原创 2018-08-08 11:32:59 · 2142 阅读 · 0 评论