随笔分类 - golang
go语言
Golang的select多路复用以及channel使用实践
摘要:看到有个例子实现了一个类似于核弹发射装置,在发射之前还是需要随时能输入终止发射。 这里就可以用到channel 配合select 实现多路复用。 select的写法用法有点像switch。但是和switch不同的是,select的一个case代表一个通信操作(在某个channel上进行发送或者接收)
阅读全文
golang-goroutine和channel
摘要:goroutine 在go语言中,每一个并发的执行单元叫做一个goroutine 这里说到并发,所以先解释一下并发和并行的概念: 并发:逻辑上具备同时处理多个任务的能力 并行:物理上在同一时刻执行多个并发任务 当一个程序启动时,其主函数即在一个单独的goroutine中运行,一般这个goroutin
阅读全文
golang类型转换小总结
摘要:1. int <--> string 1.1. int --> string 当然,整数转换成字符串还有其他方法,比如 fmt.Sprintfstrconv.FormatInt 1.2. string --> int 2. string --> int64 2.1. string --> int64
阅读全文
golang之终端操作,文件操作
摘要:终端操作 操作终端相关的文件句柄常量os.Stdin:标准输入os.Stdout:标准输出os.Stderr:标准错误输出 关于终端操作的代码例子: 关于带缓冲区的读写 这里需要用到一个包:bufio 下面是代码例子: 练习终端操作 从终端读取一行字符串,统计英文,数字,空格以及其他字符的数量代码实
阅读全文
golang之结构体和方法
摘要:结构体的定义 结构体是将零个或者多个任意类型的命令变量组合在一起的聚合数据类型。每个变量都叫做结构体的成员。 其实简单理解,Go语言的结构体struct和其他语言的类class有相等的地位,但是GO语言放弃了包括继承在内的大量面向对象的特性,只保留了组合这个基础的特性。所有的Go语言类型除了指针类型
阅读全文
golang基础之三-字符串,时间,流程控制,函数
摘要:strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判断字符串s是否以prefix开头 stirngs.HasSuffix(s string,suffix string) bool:判断字符串s是否以s
阅读全文
golang基础之二-基本数据类型和操作符
摘要:文件名&关键字&标识符 所有go源码都是以.go结尾 标识符以字母或下划线开头,大小写敏感 下划线_是特殊标识符,用户忽略结果 保留关键字 导入包时可以设置别名 下面是保留关键字: golang程序的基本结构 小练习1写一个小程序,对于给定的一个数字n,求出所有两两相加等于n的组合 小练习2写一个小
阅读全文
golang基础之一
摘要:一、第一个go程序 对于代码的解释 如果是为了将代码编译成一个可执行程序,那么package必须是main如果是为了将代码编译成库,那么package则没有限制go中所有的代码都应该隶属一个包 fmt 是go的一个系统库 fmt.println()则可以打印输出 如果想要运行程序:go run 程序
阅读全文
Go基础之--位操作中你所不知道的用法
摘要:之前一直忽略的就是所有语言中关于位操作,觉得用处并不多,可能用到也非常简单的用法,但是其实一直忽略的是它们的用处还是非常大的,下面先回顾一下位操作符的基础 位操作符 与操作:&1 & 1 = 11 & 0 = 00 & 1 = 00 & 0 = 0 或操作:!1 | 1 = 11 | 0 = 10
阅读全文
golang-指针,函数,map
摘要:指针 普通类型变量存的就是值,也叫值类型。指针类型存的是地址,即指针的值是一个变量的地址。一个指针只是值所保存的位置,不是所有的值都有地址,但是所有的变量都有。使用指针可以在无需知道变量名字的情况下,间接读取或更新变量的值。 获取变量的地址,用&,例如:var a int 获取a的地址:&a,&a(
阅读全文
golang fmt格式占位符
摘要:golang 的fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf。 golang没有 '%u' 点位符,若整数为无符号类型,默认就会被打印成无符号的。 宽度与精度的控制格式以Unicode码点为单位。宽度为该数值占用区域的最小宽度;精度为小数点之后的位数。操作数的类型为in
阅读全文
golang-数组和切片
摘要:数组 数组的定义: 数组是具有固定长度并拥有零个或者多个相同数据类型元素的序列 定义一个数组的方法:var 变量名[len] type 例子:var a[5] int //3个整数的数组var a[5]string //3个字符串的数组 像上面这种定义方法,我们是指定了数组的长度,但是还有如下定义方
阅读全文
Go 测试单个方法
摘要:目录如下: division.go代码如下: divison_test.go代码如下: 1. 在目录下执行 go test 是测试目录所有以XXX_test.go 结尾的文件。 2.测试单个方法 下面2种写法。 go test -test.v -test.run="Test_Division_1"
阅读全文
mac下安装golang
摘要:1.安装homebrew 2.安装golang 输入brew info go或者go env即可查看当前安装的golang版本信息 3.配置环境变量 主要是GOROOT和GOPATH GOROOT:就是go的安装环境GOPATH:作为编译后二进制的存放目的地和import包时的搜索路径。通俗点就是你
阅读全文
go run/ go install/ go build / go get的区别
摘要:go run 运行当个.go文件 go install 在编译源代码之后还安装到指定的目录 go build 加上可编译的go源文件可以得到一个可执行文件 go get = git clone + go install 从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装
阅读全文
vscode的go插件安装
摘要:vscode安装go的很多插件都是失败,如下: 最后在网上找到了解决办法。概要如下: 1.Tips:安装之前先检查下 %GoPath%\src\golang.org\x 下的tools/lint是否是从github获取的最新版本(注意一定要是git clone),正确如下图所示 因为后面安装 组件会
阅读全文
golang查看文档
摘要:大家都知道手册在开发中是多么重要,但是golang.org无法访问,如果不FQ的话可以通过下面的方法来查看手册 方法1 查看 fmt 包 查看单个函数 Printf 方法2 生成本地官网 访问 localhost:6060 就和官网一样了
阅读全文
windows下github 出现Permission denied (publickey)
摘要:github教科书传送门:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000 再学习到"添加远程仓库"的时候遇到了 Permission denied (publickey) 这个问题,
阅读全文
下载安装go插件包报错fatal: unable to access 'https://github.com/golang/tools.git/': OpenSSL SSL_read: SSL_ERROR_SYSCALL, errno 10054
摘要:使用git命令来给vscode安装go插件的时候报错,如下: 解决办法如下: 执行命令: 注意524288000算法:1024*1024*500 出现如下错误:curl 56 OpenSSL SSL_read:SSL_ERROR_sysCALL 执行命令: 参照: https://blog.csdn
阅读全文
浙公网安备 33010602011771号