重学编程之Golang
文章平均质量分 95
Payne-Wu
这个作者很懒,什么都没留下…
展开
-
Golang简介
Programing Language - Golang文章目录Programing Language - Golang摘要描述历史为什么需要学习Golang?硬件的局限性Go 天生支持并发Go 直接在底层硬件上运行用 Go 编写的代码易于维护Go 来势汹汹Golang官网地址:https://golang.org/Golang官方文档:https://golang.org/doc/Golang Packages:https://golang.org/pkg/Golang中文网:https:/翻译 2020-11-19 09:42:17 · 578 阅读 · 0 评论 -
盘点Golang并发那些事儿之二-并发控制得心应手
文章目录信道-Channelexample无缓冲channel带缓冲Channel单向 channel多路复用ChannelSync深入并发控制sync.waitGroupsync.Mutexsync.RWMutexsync.Oncesync.Map原子操作atomic包示例sync.Cond总结上一节提到,golang中直接使用关键字go创建goroutine,无法满足我们的需求。主要问题如下无法有效的并发执行完成无法有效的控制并发首先我们再来看看下面这个栗子,代码如下// example-原创 2021-02-04 23:26:50 · 437 阅读 · 4 评论 -
GoLang内置包之time
文章目录time包定义源码怎么说基本使用时间戳操作时间ADDSubEqualBeforeAfter定时器时间格式化解析字符串格式的时间一寸光阴一寸金,寸金难买寸光阴时间离我们仅在咫尺,无论是在编程中时间还是日常生活中对于时间的记述都是离我们最近的,那么让我们一起来学习一下GoLang中内置包time。Let’s Gotime包定义源码怎么说const ( Nanosecond Duration = 1 Microsecond = 1000 * Nanosecond Mi原创 2020-12-02 00:44:59 · 319 阅读 · 0 评论 -
Golang 文件操作的那些事儿
Os模块的使用与源码研究文件:计算机中的文件是存储在外部介质(通常是磁盘)上的数据集合,文件分为文本文件和二进制文件。例如咱们常见的文件后缀名.exe,.txt,’.word’…等等文件的基本操作可简单分为增、删两类,也就是咱们所说的CURD(增删改查),也是基于此两类操作。可简单理解为打开文件夹、CURD、关闭文件夹。结束~golang对于文件基本上都是基于Golang的os模块,那让我们一起了解一下,那么Golang是如何对文件进行操作呢。Let’s Go~打开文件Golang中打开文件使用o原创 2020-11-28 00:10:19 · 309 阅读 · 0 评论 -
Golang-接口(interface)
文章目录接口(interface)疑问:只关心调用的函数,而不关注其类型接口的定义实现接口的条件接口类型变量值的接受者与指针接收者实现接口值的接受者实现接口指针接收者实现接口接口(interface)接口是一种类型最初的int、string、bool,再到稍微复杂的Array、Map、Slice。他们都称之为基础数据类型,以及到多维度符合类型的结构体。以及今日咱们所需要学习的接口。在Go语言编程中,Go(强类型语言),也就是说必须是一种具体的类型,当我们需要只关注能调用它的什么方法,而不关注它是什么原创 2020-11-26 21:53:36 · 144 阅读 · 0 评论 -
基于“结构体”实现简易版学生管理系统(Golang)
文章目录分析定义全局的学生类定义全局的管理(即操作类)定义菜单栏定义功能函数实现查看学生功能实现修改学生功能实现删除学生功能首先咱们在做项目之前,需要对项目进行分析。切记不可贪功冒进,从而导致无用功分析学生类管理者类菜单栏基于管理类实现功能查看添加修改删除退出结构图如下:采用自顶向下的编程思维对以上分析进行复述,先整体、后细节(先全局、后详细)实现如上结构定义全局的学生类在定义学生类之前,我们需了解学生类包含的字段。这里我只定义了Id、姓名。其中id为唯一,姓名可重原创 2020-11-23 23:43:36 · 467 阅读 · 2 评论 -
Golang结构体初探
结构体Go语言中的基础数据类型可以表示一些事物的基本属性,但是当我们想表达一个事物的全部或部分属性时,这时候再用单一的基本数据类型明显就无法满足需求了,Go语言提供了一种自定义数据类型,可以封装多个基本数据类型,这种数据类型叫结构体,英文名称struct。 也就是我们可以通过struct来定义自己的类型了。Go语言中通过struct来实现面向对象的相关概念。结构体的定义// 使用type和struct关键字来定义结构体type 类型名 struct { 字段名 字段类型 字段名 字原创 2020-11-21 21:46:48 · 94 阅读 · 0 评论 -
Golang特殊类型-切片(Slice)
文章目录切片的本质切片的定义var 声明切片Make 初始化切片判断切片是否为空切片不能直接比较切片的赋值拷贝切片遍历切片添加元素切片底层内存原理探究引入源码解读复制切片删除元素总结及注意点在上篇数据类型-Array中写到因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性func arraySum(x [5]int) int{ sum := 0 for _, v := range x{ sum = sum + v } return sum}这个求和函数只原创 2020-11-19 10:37:56 · 502 阅读 · 0 评论 -
Golang数组(Array)
文章目录Golang ArrayArray(数组)的介绍Array(数组)的定义Array(数组)的定义遍历多维数组(嵌套数组)数组是值类型Golang ArrayArray(数组)的介绍数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法:var 数组变量名 [数组数量]数组类型//数组的长度必须是常量,并且长度是数组类型的一部分。// 一旦定义,长度不能变。 [1]int和[2]int是不同的两种类型。数组可以通过原创 2020-11-19 10:12:46 · 971 阅读 · 0 评论 -
Golang数据类型(整型、Bool、String)
文章目录Golang Data Type基本数据类型整形浮点型复数布尔值字符串byte和rune类型修改字符串类型检查类型转换字符串和数字互转补充占位的相关用法普通占位符整数占位符浮点数和复数的组成部分(实部和虚部)字符串与字节切片6)指针StringsGolang Data TypeGo语言中有丰富的数据类型,除了基本的整型、浮点型、布尔型、字符串外,还有数组、切片、结构体、函数、map、通道(channel)等。Go 语言的基本类型和其他语言大同小异。基本数据类型整形整型分为以下两个大类:原创 2020-11-19 10:11:24 · 308 阅读 · 0 评论 -
Golang基础指令
Golang基础指令无论多么复杂的程序,多么复杂的逻辑。基本是由以下三种构成(当然除非其原本业务逻辑客观复杂)大道至简、速归同途,找到这种感觉。come on~条件分支语句if 条件分支语句Golang条件语句是通过一条或多条语句的执行结果(True或者False)来决定是否执行的代码块。Golang程序语言指定任何非0和非空(null)值为true,0 或者 null为false。Golang 编程中 if 语句用于控制程序的执行,基本形式为:func main() { i:= 3原创 2020-11-19 10:08:39 · 148 阅读 · 0 评论 -
Golang 运算符及位运算
本章目标:了解运算符、运算符的种类、各运算符的特征进制位运算符及位运算运算符优先级文章目录什么是运算符?算数运算符关系运算符逻辑运算符位运算符常见进制:其他进制互转:反码补码赋值运算符运算符优先级什么是运算符?运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算。例如:2+3,其操作数是2和3,而运算符则是“+”。在vb2005中运算符大致可以分为5种类型:算术运算符、位运算符、 关系运算符、赋值运算符、逻辑运算符。算数运算符运算符描述+相加.原创 2020-11-19 09:53:16 · 368 阅读 · 0 评论 -
Golang-常量、变量、匿名变量、itoa
常量、变量、匿名变量常量:一旦声明即不可被改变变量:声明后可以发生改变。若初始化后未赋值则为初始值例如:int -> 0Bool -> falseString -> 空。。。关键字与保留字关键字是指编程语言中预先定义好的具有特殊含义的标识符。 关键字和保留字都不建议用作变量名。关键字 break default func interface select case defer go原创 2020-11-19 09:51:08 · 299 阅读 · 0 评论 -
Golang搭建开发环境
Golang开发环境搭建Go 语言开发包国外:https://golang.org/dl/国内(推荐): https://golang.google.cn/dl/编辑器Golang:https://www.jetbrains.com/go/Visual Studio Code: https://code.visualstudio.com/搭建 Go 语言开发环境,需要先下载 Go 语言开发包。查看操作系统及版本Windows:Mac:Linux:终端输入uname -a,示原创 2020-11-19 09:45:32 · 321 阅读 · 0 评论