![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Go语言
kang___xi
这个作者很懒,什么都没留下…
展开
-
Go语言学习笔记(一)Go语言变量的声明和初始化
由于我以前是学的C/C++语言,所以在博客中会将Go与C/C++进行对比来学习: Go语言作为C语言家族的新派代表,在C语言的定义方法和类型上做了优化和调整,更加灵活易学。今天首先从最简单的变量声明开始进行学习:1.三种声明方式 普通变量的声明有三种方式,第一种和第二种通过关键字var来声明变量,第三种则靠编译器进行推断,分别如下:var ...原创 2019-01-17 10:50:59 · 547 阅读 · 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 · 221 阅读 · 0 评论 -
Go语言学习笔记(七)接口
Go语言中的接口作用类似于C++中的虚函数机制,可以提供一个统一调用的方式。 接口是双方约定的一种合作协议。接口实现者不需要关心接口会被怎样使用,调用者也不需要关心接口的实现细节。接口是一种类型,也是一种抽象结构,不会暴露所包含数据的格式、类型及结构。1.接口的定义 每个接口类型由多个方法组成。type 接口类型名 interfac...原创 2019-01-21 17:32:41 · 315 阅读 · 0 评论 -
Go语言学习笔记(六)方法和接收器
C++是一种面向对象的编程语言,我们可以为类提供成员变量和成员方法。而在Go中没有类的概念,但是也提供了类似的机制来表示,那就是方法。 Go语言中的方法(method)是一种作用于特定类型变量的函数。这种特定类型变量叫做接收器(receiver)。如果将特定类型理解为结构体或类,那接收器的概念就类似于其他语言中的this或者self. 在Go语言中,接收...原创 2019-01-20 11:19:21 · 2500 阅读 · 0 评论 -
Go语言学习笔记(五)Go语言结构体
Go语言的关键字type可以将各种基本类型定义为自定义类型,基本类型包括整型、字符串、布尔等。结构体是一种复合的基本类型,通过type定义为自定义类型后,使结构体更便于使用。1.结构体定义格式type 类型名 struct { 字段1 字段1类型 字段2 字段2类型 ......}类型名:标识自定义结构体的名称,在同一个包内不能重复st...原创 2019-01-19 11:44:43 · 384 阅读 · 0 评论 -
Go语言学习笔记(补充)格式化输出
动 词 功 能 %v 按值的本来值输出 %+v 在 %v 基础上,对结构体字段名和值进行展开 %#v 输出 Go 语言语法格式的值 %T 输出 Go 语言语法格式的类型和值 %%...原创 2019-01-24 11:16:46 · 498 阅读 · 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 · 357 阅读 · 0 评论 -
Go语言学习笔记(四)Go语言函数
Go语言的函数声明以func标识,后面紧接着函数名、参数列表、返回参数列表以及函数体。1.普通函数的声明形式func 函数名(参数列表) (返回参数列表){ //函数体}注意:在同一个包内,函数名不能相同参数列表中如果多个参数类型相同,则可放在一起声明。如func test(a, b int) {}同时声明a, b为int类型函数可以同时返回多个值...原创 2019-01-18 09:55:55 · 291 阅读 · 0 评论 -
Go语言学习笔记(三)Go语言流程控制
1.if-else(分支结构)a).格式1if 表达式1 { 分支1} else if 表达式2 { 分支2} else{ 分支3}b).格式2if 语句1; 条件表达式 { //to do}注意:a).左花括号{必须跟在if/else后面,不能另起一行2.for(循环结构)for 初始语句;条件表达式;结束语句{ ...原创 2019-01-17 19:57:22 · 197 阅读 · 0 评论 -
Go语言学习笔记(二)Go语言容器(array、slice、map、list)
1.数组 数组(array)是一段固定长度的连续内存区域。在go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。a).数组的声明var 数组名 [元素数量]T注:元素数量必须是整型数值且在编译期就确定T可以是任意基本类型,包括T为数组本身,此时可以实现多维数组b).数组的初始化方式1:var str [3]stringstr[0]...原创 2019-01-17 16:45:00 · 539 阅读 · 1 评论 -
Go语言学习笔记(九)并发
并发指在同一时间内可以执行多个任务。 Go语言通过编译器运行时(runtime),从语言上支持了并发的特性。Go语言的并发通过goroutine特性完成。goroutine类似于线程,但是可以根据需要创建多个goroutine并发工作。goroutine是由Go语言的运行时调度完成的,而线程是由操作系统调度完成。1.goroutine(轻量级线程) ...原创 2019-01-23 17:44:15 · 395 阅读 · 0 评论