![](https://img-blog.csdnimg.cn/20210601213845291.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
go_基础语法
文章平均质量分 84
go 编程数据类型、流程控制、函数式编程
Sunny_Future
微笑面对人生。
展开
-
Go 指针数组、指针参数、指针函数及结构体指针
指针是存储另一个变量的内存地址的变量。区别于C/C++中的指针,在Go中的指针不能进行偏移和运算,是安全指针。1、指针地址、指针类型、指针取值在Go中的指针操作非常简单,只需要记住两个符号:&(取地址)和*(根据地址取值)。Golang 支持指针类型 *T,指针的指针 **T,以及包含包名前缀的 *.T。• 默认值 nil,没有 NULL 常量。• 操作符 "&" (取地址符) 取变量地址,"*" (取值符)透过指针访问目标对象。• 不支持指针运算,不支持 "->" 运算符,原创 2021-07-13 00:15:14 · 2258 阅读 · 0 评论 -
Go 字典Map增删改查、排序及其值类型
1、Map 简述哈希表,引用类型,必须初始化才能使用一种无序的基于key-value的数据结构的键值对集合键必须是支持相等运算符 ("=="、"!=") 类型, 如 number、string、 pointer、array、struct,以及对应的 interface值可以是任意类型,没有限制2、Map 声明初始化2.1 Map 声明声明格式:var mapName map[keyType] valueType// 其中:keyType为键类型,valueType为值类型// val原创 2021-07-08 00:07:36 · 843 阅读 · 1 评论 -
tips of golang
1、核心资料1.1 Golang标准库文档中文:https://studygolang.com/pkgdoc官方:https://golang.org/pkg/1.2 视频资料基础进阶千峰教育老男孩GogoWeb1.3 文档资料免费编程中文书籍索引通关打怪Go语言,快速入门Golang教程Go语言高级编程Go语言中文网Go语言四十二章经Go 简易教程老男孩李文周的博客区分字符和字节,掌握字符串遍历Go语言设计与实现原创 2021-06-24 17:11:45 · 159 阅读 · 0 评论 -
Go 数组 array 与 切片 slice 扩容
在go语言中,切片是一个引用类型,类似于python的list,所以它们不需要使用额外的内存并且比使用数组更有效率,切片比数组更常用。那么,先来看看数组。1、数组 array1.1 array 概念数组是固定长度(长度不可修改)的、同一类型的数据集合。数组长度必须是一个常量表达式,且必须是一个非负整数数组元素可以通过 索引(位置)来读取(或者修改),索引从 0 开始。注意:如果让数组元素类型为任意类型的话可以使用空接口作为类型,当使用值时必须先做一个类型判断1.2 array 初始化G原创 2021-06-30 23:47:00 · 1381 阅读 · 2 评论 -
Go 流程控制 if、for、switch、break、goto
Go 支持如下几种流程控制语句:条件语句:关键字有 if、else 和 else if分支语句:关键字有 switch、case 和 select(用于通道,常用协程)循环语句:关键字有 for 和 range跳转语句:用于代码跳转,对应的关键字有 goto注意:golang 没有 while循环~1、if 条件语句1.1 if 语法结构if 是用于测试某个条件(布尔型或逻辑型)的语句,如果该条件成立,则会执行 if 后由大括号括起来的代码块,否则就忽略该代码块继续执行后续的代码。常用原创 2021-06-29 20:59:15 · 981 阅读 · 2 评论 -
Go fmt格式化 IO
fmt 包实现了格式化I/O函数,类似于C的 printf 和 scanf1、对外输出标准库fmt主要提供了Print、Fprint、Sprint、Errorf等几种函数对外输出。1.1 PrintPrint系列函数会将内容输出到系统的标准输出:Print函数直接输出内容Printf函数支持格式化输出字符串Println函数默认会在输出内容的结尾添加一个换行符函数声明:func Print(a ...interface{}) (n int, err error)func Printf原创 2021-06-24 19:51:47 · 378 阅读 · 2 评论 -
Go 字符串及strings包常见操作
Go 字符串及strings包常见操作1、字符串的定义Go 语言中可以使用反引号或者双引号来定义字符串。反引号表示原生的字符串,即不进行转义。Go 语言的字符串不支持单引号双引号字符串使用双引号括起来,其中的相关的转义字符将被替换。例如:str := "Hello World! \n Hello Gopher! \n"输出:Hello World! Hello Gopher!反引号字符串使用反引号括起来,其中的相关的转义字符不会被替换。例如:str := `Hello W原创 2021-06-18 22:09:21 · 1588 阅读 · 0 评论 -
Go 变量、常量、作用域、数据类型及运算符
Golang 基础:变量、常量、作用域、数据类型及运算符1、变量变量(Variable)的功能是存储数据。不同的变量保存的数据类型可能会不一样。变量代表可变的数据类型,它在程序执行的过程中可能会被一次或多次修改。1.1 变量类型常见变量的数据类型有:整型、浮点型、布尔型等。1.2 变量声明Go语言中的每一个变量都有自己的类型,并且变量必须经过声明才能开始使用。1.3 标准声明变量声明以关键字var开头,变量类型放在变量的后面,行尾无需分号。var 变量名 变量类型示例:var nam原创 2021-06-18 15:43:13 · 285 阅读 · 1 评论 -
go testing包 单元测试
在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最小单元就是方法,包括基类、超类、抽象类等中的方法。单元测试就是软件开发中对最小单位进行正确性检验的测试工作。单元测试文件名必须以xxx_test.go命名方法必须是TestXxx开头,建议风格保持一致(驼峰或者下划线)方法参数必须 t *testing.T测试文件和被测试文件必须在一个包中Go自带的testing包testing 为 Go 语言 package 提供自动化测试的支持。通过 go test 命令,能够自动原创 2021-06-10 21:45:17 · 341 阅读 · 3 评论 -
进阶 go mod 项目 包 规范管理
进阶 go 项目 包管理在 go mod 模式,项目内必须有且仅有一个包含 函数名为 main 的主程序 ,且该 main 函数没有返回值,具体函数部分 后续细讲。0、项目 命名 规范小写字母,中划线 分割单词go-packge-demo1、包 命名 规范packge名 和目录名保持一致包名 尽量为小写字母,包名 勿用 下划线或混合大小写字母,使用多级目录划分层级包名 尽量简洁 易懂2、包内 文件命名 规范文件名 小写,小划线分割单词3、包内 函数命名 规范函数名原创 2021-06-09 21:39:31 · 1177 阅读 · 3 评论 -
go mod 构建新项目 step by step
0、golang 安装官网地址https://golang.google.cn/dl/1、go两种构建模式go语言发展至今因为包依赖的问题有两种的构建模式:经典的gopath mode和目前的go module标准mode。1.1 gopath 【经典传统】1.1.1 gopath说明GOPATH下一般会有三个文件夹src、pkg、bin。src存放项目源码文件(.go结尾)对于src目录,存放源文件,Go中源文件以包(package)的形式组织。通常的,新建一个包就在src目原创 2021-06-05 10:37:23 · 4149 阅读 · 4 评论 -
GO学习路线规划
学习规划数据类型、流程控制、函数式编程、面向对象、错误处理、数据结构算法、并发编程、网络编程、web框架…学习资料原创 2021-06-01 22:12:44 · 332 阅读 · 4 评论