文章分类 -  go

摘要:一 包导入的常规语法 在写Go代码的时候经常用到import这个命令用来导入包文件,看到的方式参考如下: 12345 import( "fmt" )//然后在代码里面可以通过如下的方式调用 fmt.Println("hello world") 上面这个fmt是Go语言的标准库,他其实是去GOROOT 阅读全文
posted @ 2022-04-28 20:14 那就凑个整吧 阅读(932) 评论(0) 推荐(0) 编辑
摘要:一 介绍 unsafe 包含有关于Go程序类型安全的所有操作 unsafe 库让 go 可以像C语言一样操作计算机内存,但这并不是go推荐使用的,能不用尽量不用,就像它的名字所表达的一样,它绕过了go的内存安全原则,是不安全的,容易使你的程序出现莫名其妙的问题,不利于程序的扩展与维护 unsafe有 阅读全文
posted @ 2022-04-28 20:14 那就凑个整吧 阅读(66) 评论(0) 推荐(0) 编辑
摘要:VS Code是微软开源的一款编辑器,插件系统十分的丰富。下面介绍如何用VS Code搭建go语言开发环境 ##一 下载与安装 VS Code官方下载地址:https://code.visualstudio.com/Download 三大主流平台都支持,请根据自己的电脑平台选择对应的安装包。双击下载 阅读全文
posted @ 2022-04-28 20:13 那就凑个整吧 阅读(3) 评论(0) 推荐(0) 编辑
摘要:一 Go指针 我们大家都知道,go语言指针是不支持运算的,也就是不支持++/–操作,但是我们借助于unsafe包,可以完成这个操作 我们现在要定义一个数组a:=[3]int8{6,8,9} 取出a[0]的指针,自增后,解引用,即可得到a[1]对应的值 8 二 指针,uintptr,unsafe.Po 阅读全文
posted @ 2022-04-28 20:13 那就凑个整吧 阅读(62) 评论(0) 推荐(0) 编辑
摘要:一 下载地址 安装包下载地址为:https://golang.org/dl/。 如果打不开可以使用这个地址:https://golang.google.cn/dl/。 各个系统对应的包名: 操作系统包名 Windows go1.13.3.windows-amd64.msi Linux go1.13. 阅读全文
posted @ 2022-04-26 21:39 那就凑个整吧 阅读(25) 评论(0) 推荐(0) 编辑
摘要:一 GoLand集成开发环境下载 IDE 下载地址:https://www.jetbrains.com/go/download/#section=mac IDE安装就是平常的傻瓜式安装,这里就不多说了。 二 使用GoLand 1、 双击运行安装完的GoLand,选择创建项目,并关联GOROOT(会自 阅读全文
posted @ 2022-04-26 21:39 那就凑个整吧 阅读(129) 评论(0) 推荐(0) 编辑
摘要:什么是 defer? defer 语句的用途是:含有 defer 语句的函数,会在该函数将要返回之前,调用另一个函数。这个定义可能看起来很复杂,我们通过一个示例就很容易明白了。 示例 1234567891011121314151617181920212223242526 package mainim 阅读全文
posted @ 2022-04-26 21:37 那就凑个整吧 阅读(370) 评论(0) 推荐(0) 编辑
摘要:临界区 在学习 Mutex 之前,我们需要理解并发编程中临界区(Critical Section)的概念。当程序并发地运行时,多个 [Go 协程]不应该同时访问那些修改共享资源的代码。这些修改共享资源的代码称为临界区。例如,假设我们有一段代码,将一个变量 x 自增 1。 1 x = x + 1 如果 阅读全文
posted @ 2022-04-26 21:36 那就凑个整吧 阅读(233) 评论(0) 推荐(0) 编辑
摘要:Go 支持面向对象吗? Go 并不是完全面向对象的编程语言。Go 官网回答了 Go 是否是面向对象语言,摘录如下。 可以说是,也可以说不是。虽然 Go 有类型和方法,支持面向对象的编程风格,但却没有类型的层次结构。Go 中的“接口”概念提供了一种不同的方法,我们认为它易于使用,也更为普遍。Go 也可 阅读全文
posted @ 2022-04-26 21:36 那就凑个整吧 阅读(23) 评论(0) 推荐(0) 编辑
摘要:Go 协程是什么? Go 协程是与其他函数或方法一起并发运行的函数或方法。Go 协程可以看作是轻量级线程。与线程相比,创建一个 Go 协程的成本很小。因此在 Go 应用中,常常会看到有数以千计的 Go 协程并发地运行。 Go 协程相比于线程的优势 相比线程而言,Go 协程的成本极低。堆栈大小只有若干 阅读全文
posted @ 2022-04-26 21:35 那就凑个整吧 阅读(183) 评论(0) 推荐(0) 编辑
摘要:什么是指针? 指针是一种存储变量内存地址(Memory Address)的变量。 如上图所示,变量 b 的值为 156,而 b 的内存地址为 0x1040a124。变量 a 存储了 b 的地址。我们就称 a 指向了 b。 指针的声明 指针变量的类型为 *T,该指针指向一个 T 类型的变量。 接下来我 阅读全文
posted @ 2022-04-26 21:34 那就凑个整吧 阅读(115) 评论(0) 推荐(0) 编辑
摘要:Go 是并发式语言,而不是并行式语言。在讨论 Go 如何处理并发之前,我们必须理解何为并发,以及并发与并行的区别。 并发是什么? 并发是指立即处理多个任务的能力。一个例子就能很好地说明这一点。 我们可以想象一个人正在跑步。假如在他晨跑时,鞋带突然松了。于是他停下来,系一下鞋带,接下来继续跑。这个例子 阅读全文
posted @ 2022-04-26 21:34 那就凑个整吧 阅读(35) 评论(0) 推荐(0) 编辑
摘要:什么是 map ? map 是在 Go 中将值(value)与键(key)关联的内置类型。通过相应的键可以获取到值。 如何创建 map ? 通过向 make 函数传入键和值的类型,可以创建 map。make(map[type of key]type of value) 是创建 map 的语法。 1 阅读全文
posted @ 2022-04-26 21:33 那就凑个整吧 阅读(210) 评论(0) 推荐(0) 编辑
摘要:一 变量定义规范 Go语言中的函数名、变量名、常量名、类型名、语句标号和包名等所有的命名,都遵循一个简单的命名规则: 1 一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线 2 大写字母和小写字母是不同的:Name和name是两个不同的变量 3 关键字和 阅读全文
posted @ 2022-04-26 21:31 那就凑个整吧 阅读(320) 评论(0) 推荐(0) 编辑
摘要:一 建立 Go 工作区 在编写代码之前,我们首先应该建立 Go 的工作区(Workspace),环境搭建一节,我们已经讲过了。 在 Mac 或 Linux 操作系统下,Go 工作区应该设置在 $HOME/go。所以我们要在 $HOME 目录下创建 go 目录。 而在 Windows 下,工作区应该设 阅读全文
posted @ 2022-04-26 21:31 那就凑个整吧 阅读(157) 评论(0) 推荐(0) 编辑
摘要:switch 是一个条件语句,用于将表达式的值与可能匹配的选项列表进行比较,并根据匹配情况执行相应的代码块。它可以被认为是替代多个 if else 子句的常用方式。 看代码比文字更容易理解。让我们从一个简单的例子开始,它将把一个手指的编号作为输入,然后输出该手指对应的名字。比如 0 是拇指,1 是食 阅读全文
posted @ 2022-04-26 21:31 那就凑个整吧 阅读(337) 评论(0) 推荐(0) 编辑
摘要:if 是条件语句。if 语句的语法是 12 if condition { } 如果 condition 为真,则执行 { 和 } 之间的代码。 不同于其他语言,例如 C 语言,Go 语言里的 { } 是必要的,即使在 { } 之间只有一条语句。 if 语句还有可选的 else if 和 else 部 阅读全文
posted @ 2022-04-26 21:30 那就凑个整吧 阅读(702) 评论(0) 推荐(0) 编辑
摘要:什么是可变参数函数 可变参数函数是一种参数个数可变的函数。 语法 如果函数最后一个参数被记作 ...T ,这时函数可以接受任意个 T 类型参数作为最后一个参数。 请注意只有函数的最后一个参数才允许是可变的。 通过一些例子理解可变参数函数如何工作 你是否曾经想过 append 函数是如何将任意个参数值 阅读全文
posted @ 2022-04-26 21:30 那就凑个整吧 阅读(81) 评论(0) 推荐(0) 编辑
摘要:函数是什么? 函数是一块执行特定任务的代码。一个函数是在输入源基础上,通过执行一系列的算法,生成预期的输出。 函数的声明 在 Go 语言中,函数声明通用语法如下: 123 func functionname(parametername type) returntype { // 函数体(具体实现的功 阅读全文
posted @ 2022-04-26 21:29 那就凑个整吧 阅读(907) 评论(0) 推荐(0) 编辑
摘要:循环语句是用来重复执行某一段代码。 for 是 Go 语言唯一的循环语句。Go 语言中并没有其他语言比如 C 语言中的 while 和 do while 循环。 for 循环语法 12 for initialisation; condition; post { } 初始化语句只执行一次。循环初始化后 阅读全文
posted @ 2022-04-26 21:29 那就凑个整吧 阅读(229) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示