Go语言接口规则 接口是一个或多个方法签名的集合。任何类型的方法集中只要拥有该接口对应的全部方法签名。就表示它 "实现" 了该接口,无须在该类型上显式声明实现了哪个接口。对应方法,是指有相同名称、参数...
Go语言中处理 HTTP 服务器
1 概述 包 net/http 提供了HTTP服务器端和客户端的实现。本文说明关于服务器端的部分。 快速开始: package main import ( "log" "net/http" )...
go语言动态库的编译和使用
本文主要介绍go语言动态库的编译和使用方法,以linux平台为例,windows平台步骤一样,具体环境如下: $ echo $GOPATH /media/sf_share/git/go_practic...

go语言 - Scheduler原理以及查看Goroutine执行
最近看了看go scheduler的基本原理,本文介绍go语言scheduler的基本原理以及如何查看go代码中的go routine的执行情况。 0)Scheduler(调度器) 熟悉go语言的小伙...
Go语言常见排序算法
Go语言常见排序算法 冒泡排序 思路分析:在要排序的切片中,对当前还未排好的序列,从前往后对相邻的两个元素依次进行比较和调整,让较大的数往下沉,较小的往上冒。即,每当两相邻的元素比较后发现它们的排序与...
Go语言测试说明(翻译)
在过去的几个月里,我对许多由Go语言编写的API进行了测试。非常有趣!用Go语言写代码也很有趣。值得注意的是,没有测试就不会有高质量的代码,所以我将在本文中重点探讨测试。 单元测试 和Python一样...
Go语言实现WebDAV文件系统
WebDAV (Web-based Distributed Authoring and Versioning) 是一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST...
go语言并发编程(channel)
一.channel简介 channel是go语言在语言级别提供的goroutine间的通信,我们可以使用channel在两个或者多个协程之间来传递消息。channel是进程内的通信方式,因此通过cha...

go语言核心—channel学习
这周来学习一下go语言的核心之一-channel,都知道go语言支持高并发,其原因就是goroutine-协程的存在,这是一种逻辑上等同于线程,而实际和线程又和线程有所不同,关于协程的学习,等下次结合...
Go语言goroutine和通道学习
Go语言里的并发指的是能让某个函数独立于其他函数运行的能力。当一个函数创建为goroutine时,Go会将其视为一个独立的工作单位。这个单元会被调度到可用的逻辑处理器上执行。 Go语言运行时的调度器是...