
golang
文章平均质量分 59
一棵栗子树
一失足 千古恨 龙游浅滩遭虾戏;
君莫悔 待重头 卷土重来未可知。
展开
-
go语言学习 package
定义包(package)是多个Go源码的集合,是一种高级的代码复用方案,Go语言为我们提供了很多内置包,如fmt、os、io等。我们还可以根据自己的需要创建自己的包。一个包可以简单理解为一个存放.go文件的文件夹。该文件夹下面的所有go文件都要在代码的第一行添加如下代码,声明该文件归属的包。package 包名注意事项:一个文件夹下面直接包含的文件只能归属一个package,同样一个package的文件不能在多个文件夹下。 包名可以不和文件夹的名字一样,包名不能包含 - 符号。原创 2021-03-27 16:47:12 · 589 阅读 · 0 评论 -
go语言学习 指针
区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。Go语言中的指针不能进行偏移和运算,因此Go语言中的指针操作非常简单,我们只需要记住两个符号:&(取地址)和*(根据地址取值)。指针地址与指针类型每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置。Go语言中使用&字符放在变量前面对变量进行“取地址”操作。Go语言中的值类型原创 2021-03-27 16:47:46 · 142 阅读 · 0 评论 -
go语言学习 map
定义Go语言中提供的映射关系容器为map,其内部使用散列表(hash)实现。map是一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。map类型的变量默认初始值为nil,需要使用make()函数来分配内存。语法为:make(map[KeyType]ValueType, [cap])其中cap表示map的容量,该参数虽然不是必须的,但是我们应该在初始化map的时候就为其指定一个合适的容量。func main() { scoreMap :原创 2021-03-24 21:49:26 · 154 阅读 · 0 评论 -
go语言学习 slice切片
定义切片(Slice)是一个拥有相同类型元素的可变长度的序列。它是基于数组类型做的一层封装。它非常灵活,支持自动扩容。切片是一个引用类型,它的内部结构包含地址、长度和容量。切片一般用于快速地操作一块数据集合。func main() { // 声明切片类型 var a []string //声明一个字符串切片 var b = []int{} //声明一个整型切片并初始化 var c = []bool{false, true} //声明一个原创 2021-03-24 21:36:35 · 231 阅读 · 0 评论 -
go语言学习 Array数组
数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。定义var 数组变量名 [元素数量]T比如:var a [5]int, 数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。 [5]int和[10]int是不同的类型。数组可以通过下标进行访问,下标是从0开始,最后一个元素下标是:len-1,访问越界(下标在合法范围之外),则触发访问越界,会panic。初始化初始化数组时可以使用初始化列表来设置数组元原创 2021-03-24 21:08:53 · 288 阅读 · 0 评论 -
go语言学习 流程控制
if else分支结构Go语言规定与if匹配的左括号{必须与if和表达式放在同一行,{放在其他位置会触发编译错误。同理,与else匹配的{也必须与else写在同一行,else也必须与上一个if或else if右边的大括号在同一行。if条件判断还有一种特殊的写法,可以在 if 表达式之前添加一个执行语句,再根据变量值进行判断,举个例子:func ifDemo2() { if score := 65; score >= 90 { fmt.Println("A") } else i原创 2021-03-24 20:59:56 · 74 阅读 · 0 评论 -
go语言学习 类型转换
Go语言中只有强制类型转换,没有隐式类型转换。该语法只能在两个类型之间支持相互转换的时候使用。比如计算直角三角形的斜边长时使用math包的Sqrt()函数,该函数接收的是float64类型的参数,而变量a和b都是int类型的,这个时候就需要将a和b强制类型转换为float64类型。func sqrtDemo() { var a, b = 3, 4 var c int // math.Sqrt()接收的参数是float64类型,需要强制转换 c = int(math.Sqrt(float64原创 2021-03-24 15:47:20 · 235 阅读 · 0 评论 -
go语言学习 字符串
Go语言中的字符串以原生数据类型出现,使用字符串就像使用其他原生数据类型(int、bool、float32、float64 等)一样。Go 语言里的字符串的内部实现使用UTF-8编码。 字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符,例如:s1 := "hello"s2 := "你好"多行字符串Go语言中要定义一个多行字符串时,就必须使用反引号字符:s1 := `第一行第二行第三行`fmt.Println(s1)反引号间换行将被作为字原创 2021-03-24 15:45:59 · 143 阅读 · 0 评论 -
go语言学习 基本数据类型
整型整型分为以下两个大类: 按长度分为:int8、int16、int32、int64 对应的无符号整型:uint8、uint16、uint32、uint64其中,uint8就是我们熟知的byte型,int16对应C语言中的short型,int64对应C语言中的long型。特殊整型在使用int和 uint类型时,不能假定它是32位或64位的整型,而是考虑int和uint可能在不同平台上的差异。获取对象的长度的内建len()函数返回的长度可以根据不同平台的字节长度进行变化。实际使用中原创 2021-03-24 15:35:19 · 242 阅读 · 0 评论 -
go语言学习 变量与常量
标识符Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头。 举几个例子:abc, _, _123, a123变量变量(Variable)的功能是存储数据。不同的变量保存的数据类型可能会不一样。Go语言中的变量需要声明后才能使用,同一作用域内不支持重复声明。 并且Go语言的变量声明后必须使用。标准声明var name stringvar age intvar isOk bool批量声明var ( a string b int c原创 2021-03-24 14:55:13 · 87 阅读 · 0 评论 -
go语言学习 hello world程序
1.在vscode中新建项目文件夹并打开2.新建一个main.go文件,写入以下代码package mainimport "fmt"func main() { fmt.Println("Hello World!!!")}3.点击下方的终端,输入命令go init mod + 项目名原创 2021-03-24 14:18:47 · 175 阅读 · 0 评论 -
win10 VSCode配置go语言环境
下载安装VSCode下载地址:https://code.visualstudio.com/Download一路下一步,创建桌面快捷方式,安装完成安装中文简体插件在左侧菜单栏搜索Chinese,点击install安装,重启VScode即可安装go拓展现在我们要为我们的VS Code编辑器安装Go扩展插件,让它支持Go语言开发。在左侧菜单栏搜索go,点击install安装安装go语言开发工具包Windows平台按下Ctrl+Shift+P,Mac平台按Comm原创 2021-03-24 00:00:06 · 1008 阅读 · 3 评论 -
win10 Go语言下载与安装
下载地址Go官网下载地址:https://golang.org/dl/Go官方镜像站:https://golang.google.cn/dl/安装下载windows版本,点击安装,一路下一步即可打开cmd 输入 go version 查看版本,检查是否安装成功至此安装成功环境变量安装完成后go会自动设置两个环境变量GOROOT和GOPATH使用命令 go env 可以查看其中GOROOT是我们安装go开发包的路径,GOPATH 表示当前工作目录GO原创 2021-03-23 23:08:02 · 1223 阅读 · 0 评论