Go语言

go语言中channel的详细介绍
Go

go语言中channel的详细介绍

293 0

本文写的是go语言中的channel,之所以写他是因为我感觉channel很重要,同时channel也是go并发的重要支撑点,因为go是使用消息传递共享内存而不是使用共享内存来通信。并发编程是非常好的,但是并发是非常复杂的,难点在于协调,怎样处理各个程序间的通信是非常重要的。写channel的使用和特性之前我们需要回顾操作系统中的进程间的通信。进程间的通信在工程上一般通信模型有两种:共享数据和消息。进程通信顾名思义是指进程间的信息交换,因为进程的互斥和同步就需要进程间交换信息,学过操作系统的人都知道进程通

go语言的异常处理介绍
Go

go语言的异常处理介绍

70 0

Go语言追求简洁优雅,所以,Go语言不支持传统的 try…catch…finally 这种异常,因为Go语言的设计者们认为,将异常与控制结构混在一起会很容易使得代码变得混乱。因为开发者很容易滥用异常,甚至一个小小的错误都抛出一个异常。在Go语言中,使用多值返回来返回错误。不要用异常代替错误,更不要用来控制流程。在极个别的情况下,也就是说,遇到真正的异常的情况下(比如除数为0了)。才使用Go中引入的Exception处理:defer, panic, recover。这几个异常的使用场景可以这么简单描述:Go

go语言中go build和go install的区别
Go

go语言中go build和go install的区别

42 0

go build:go build 用于测试编译包,主要检查是否会有编译错误,如果是一个可执行文件的源码(即是 main 包),就会直接生成一个可执行文件。go install:go install 的作用有两步:第一步是编译导入的包文件,所有导入的包文件编译完才会编译主程序;第二步是将编译后生成的可执行文件放到 bin 目录下($GOPATH/bin),编译后的包文件放到 pkg 目录下($GOPATH/pkg)。go build通过go build加上要编译的Go源文件名,我们即可得到一个可执行文件,

go语言查看环境信息的方法
Go

go语言查看环境信息的方法

658 0

Go语言开发环境依赖于一些操作系统环境变量,这里列举几个最为重要的环境变量:GOROOT 表示 Go 在你的电脑上的安装位置,它的值一般都是 $HOME/go,当然,你也可以安装在别的地方。GOARCH 表示目标机器的处理器架构,它的值可以是 386、amd64 或 arm。GOOS 表示目标机器的操作系统,它的值可以是 darwin、freebsd、linux 或 Windows/">windo

go语言一些使用经验(精选)
Go

go语言一些使用经验(精选)

60 0

1、对GOPATH和GOROOT理解不到位GOROOT设置为/usr/local/go 。GOPATH设置为/usr/local/go/bin。我们在go get代码的时候,下载下来的包,如github.com/Ballwang/imooc所在的路径为GOPATH/src/github.com/Ballwang/imooc。需要注意,这里的imooc是一个文件夹而不是一个文件。注:go build 是将源码文件编译成一个二进制的可执行文件,如go build test.go可以在test.go所在的imo

go语言中接口的使用
Go

go语言中接口的使用

20 0

在Go中,接口interface其实和其他语言的接口意思也没什么区别。interface理解其为一种类型的规范或者约定。一种类型是不是“实现”了一个接口呢?就看这种类型是不是实现了接口中定义的所有方法。(推荐:go语言教程)1、接口的定义和使用。比如12345type I interface{ Get() int Put(int) }这段话就定义了一个接口,它包含两个函数Get和Put好了,我的一个接口实现了这个接口:12345678type S struct {val int}func (

go语言结构体详解
Go

go语言结构体详解

52 0

定义:是一种聚合的数据类型,是由零个或多个任意类型的值聚合成的实体。成员:每个值称为结构体的成员。示例:用结构体的经典案例处理公司的员工信息,每个员工信息包含一个唯一的员工编号、员工的名字、家庭住址、出生日期、工作岗位、薪资、上级领导等等。所有的这些信息都需要绑定到一个实体中,可以作为一个整体单元被复制,作为函数的参数或返回值,或者是被存储到数组中,等等。定义结构体:123456789type Employee struct { ID int Name string

Go语言并发机制图文详解
Go

Go语言并发机制图文详解

99 0

Go 语言相比Java等一个很大的优势就是可以方便地编写并发程序。Go 语言内置了 goroutine 机制,使用goroutine可以快速地开发并发程序, 更好的利用多核处理器资源。这篇文章学习 goroutine 的应用及其调度实现。 一、Go语言对并发的支持使用goroutine编程 (推荐:go视频教程)使用 go 关键字用来创建 goroutine 。将go声明放到一个需调用的函数之前,在相同地址空间调用运行这个函数,这样该函数执行时便会作为一个独立的并发线程。这种线程在Go语言中称作g