
Go语言
kang___xi
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Go语言学习笔记(一)Go语言变量的声明和初始化
由于我以前是学的C/C++语言,所以在博客中会将Go与C/C++进行对比来学习: Go语言作为C语言家族的新派代表,在C语言的定义方法和类型上做了优化和调整,更加灵活易学。今天首先从最简单的变量声明开始进行学习: 1.三种声明方式 普通变量的声明有三种方式,第一种和第二种通过关键字var来声明变量,第三种则靠编译器进行推断,分别如下: var ...原创 2019-01-17 10:50:59 · 602 阅读 · 0 评论 -
Go语言学习笔记(八)包(package)
Go语言的源码服用建立在包(package)基础之上。Go语言的入口main()函数所在的包叫main,main包想要引用别的代码,必须同样以包的方式进行引用。 Go语言的包与文件夹一一对应,所有与包相关的操作,必须依赖于工作目录GOPATH。 1.GOPATH (1)使用命令行查看GOPATH信息 zk@ubuntu:~/Go$ echo $GOPATH...原创 2019-01-21 22:03:12 · 270 阅读 · 0 评论 -
Go语言学习笔记(七)接口
Go语言中的接口作用类似于C++中的虚函数机制,可以提供一个统一调用的方式。 接口是双方约定的一种合作协议。接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节。接口是一种类型,也是一种抽象结构,不会暴露所包含数据的格式、类型及结构。 1.接口的定义 每个接口类型由多个方法组成。 type 接口类型名 interfac...原创 2019-01-21 17:32:41 · 371 阅读 · 0 评论 -
Go语言学习笔记(六)方法和接收器
C++是一种面向对象的编程语言,我们可以为类提供成员变量和成员方法。而在Go中没有类的概念,但是也提供了类似的机制来表示,那就是方法。 Go语言中的方法(method)是一种作用于特定类型变量的函数。这种特定类型变量叫做接收器(receiver)。如果将特定类型理解为结构体或类,那接收器的概念就类似于其他语言中的this或者self. 在Go语言中,接收...原创 2019-01-20 11:19:21 · 2628 阅读 · 0 评论 -
Go语言学习笔记(五)Go语言结构体
Go语言的关键字type可以将各种基本类型定义为自定义类型,基本类型包括整型、字符串、布尔等。结构体是一种复合的基本类型,通过type定义为自定义类型后,使结构体更便于使用。 1.结构体定义格式 type 类型名 struct { 字段1 字段1类型 字段2 字段2类型 ...... } 类型名:标识自定义结构体的名称,在同一个包内不能重复 st...原创 2019-01-19 11:44:43 · 469 阅读 · 0 评论 -
Go语言学习笔记(补充)格式化输出
动 词 功 能 %v 按值的本来值输出 %+v 在 %v 基础上,对结构体字段名和值进行展开 %#v 输出 Go 语言语法格式的值 %T 输出 Go 语言语法格式的类型和值 %%...原创 2019-01-24 11:16:46 · 562 阅读 · 0 评论 -
Go语言学习笔记(十)Go语言编译与工具
Go语言的工具链非常丰富,从获取源码、编译、文档、测试、性能分析,到源码格式化、源码提示、重构工具应有尽有。 1.go build Go语言中使用go build命令将源码编译为可执行文件。 (1)go build无参数编译 在main包所在目录下使用go build命令进行编译,生成当前目录名的可执行文件。 (2)go build + 文件列表 ...原创 2019-01-24 09:33:22 · 410 阅读 · 0 评论 -
Go语言学习笔记(四)Go语言函数
Go语言的函数声明以func标识,后面紧接着函数名、参数列表、返回参数列表以及函数体。 1.普通函数的声明形式 func 函数名(参数列表) (返回参数列表){ //函数体 } 注意: 在同一个包内,函数名不能相同 参数列表中如果多个参数类型相同,则可放在一起声明。如func test(a, b int) {}同时声明a, b为int类型 函数可以同时返回多个值 ...原创 2019-01-18 09:55:55 · 358 阅读 · 0 评论 -
Go语言学习笔记(三)Go语言流程控制
1.if-else(分支结构) a).格式1 if 表达式1 { 分支1 } else if 表达式2 { 分支2 } else{ 分支3 } b).格式2 if 语句1; 条件表达式 { //to do } 注意: a).左花括号{必须跟在if/else后面,不能另起一行 2.for(循环结构) for 初始语句;条件表达式;结束语句{ ...原创 2019-01-17 19:57:22 · 229 阅读 · 0 评论 -
Go语言学习笔记(二)Go语言容器(array、slice、map、list)
1.数组 数组(array)是一段固定长度的连续内存区域。在go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 a).数组的声明 var 数组名 [元素数量]T 注:元素数量必须是整型数值且在编译期就确定 T可以是任意基本类型,包括T为数组本身,此时可以实现多维数组 b).数组的初始化 方式1: var str [3]string str[0]...原创 2019-01-17 16:45:00 · 606 阅读 · 1 评论 -
Go语言学习笔记(九)并发
并发指在同一时间内可以执行多个任务。 Go语言通过编译器运行时(runtime),从语言上支持了并发的特性。Go语言的并发通过goroutine特性完成。goroutine类似于线程,但是可以根据需要创建多个goroutine并发工作。goroutine是由Go语言的运行时调度完成的,而线程是由操作系统调度完成。 1.goroutine(轻量级线程) ...原创 2019-01-23 17:44:15 · 461 阅读 · 0 评论