![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GO语言
文章平均质量分 81
小柏ぁ
清醒、自律、知进退、明得失。
展开
-
GO实现TCP/UDP通信
目录GO的网络编程客户端和服务端模型TCP通信server端client端聊天模式服务端client端UDP编程服务器配置客户端配置GO的网络编程客...原创 2022-05-27 10:15:34 · 976 阅读 · 0 评论 -
Golang并发安全和锁
目录场景 互斥锁读写互斥锁互斥锁读写锁Sync.Oncesync.Map定时器场景 有时候在Go代码中可能会存在多个goroutine同时操作一个资源(临界区),这种情况会发生竞态问题(数据竞态)。类比现实生活中的例子有十字路口被各个方向的的汽车竞争;还有火车上的卫生间被车厢里的人竞争。例子:pa...原创 2022-05-20 21:40:26 · 1091 阅读 · 0 评论 -
Golang并发的那些事(二)
目录生产者和消费者模型使用通道只输出一万个值通道和goroutine配合处理指定数量数据select多路复用select可以解决死锁问题使用select完善生产者和消费者模型,键盘输入回车终止数据。单向通道只写通道只读通道生产者和消费者模型 需求:计算一个数字的各个位数之和,例如数字123,结果为1+2+3=6随机...原创 2022-05-09 12:43:23 · 343 阅读 · 0 评论 -
Golang并发的一些事(一)
目录基础概念sync.WaitGroup多goroutine执行 panic测试Goroutine和线程可增长的栈goroutine调度GOMAXPROCSchannel无缓存通道和缓存通道示例,无缓存通道缓存区通道...原创 2022-05-09 12:35:28 · 218 阅读 · 0 评论 -
GO文件操作
目录GO文件流打开和关闭文件读取文件defer读取Bufio另一种方式iouil写入文件判断用户是否存在GO文件流计算机中的文件是存储在外部介质(硬盘)上的数据集合,文件分为文本文件和二进制文件。打开和关闭文件os.open()函数能够打开一个文件,返回一个*Fi...原创 2022-05-01 17:17:59 · 308 阅读 · 0 评论 -
Beego运行出现报错
main.go:5:2: missing go.sum entry for module providing package github.com/astaxie/beego (imported by mynode1); to add: go get mynode1在beego创建完项目之后报以上的错更新依赖包go mod tidy //整理依赖,删除不需要的包,下载新的依赖包更新go.sum再次bee run 即可PS D:\golang\src\mynode1&g...原创 2022-04-27 21:31:52 · 544 阅读 · 0 评论 -
GO反射(reflect)
目录reflect获取变量类别ValueOfValue.Set结构体反射反射获取结构体中的属性值和类型更改结构体属性值反射实现Tag原信息函数反射Value的Call()方法方法反射reflect1. reflect.TypeOf,获取变量的类型,返回reflect.Type类型2...原创 2022-04-25 14:53:13 · 1747 阅读 · 2 评论 -
GO接口使用
目录接口为什么使用接口接口定义空接口多态概念多接口的实现demo:在电脑上定义一个uSB接口,实现鼠标,u盘存储,电扇的功能系统接口的调用接口嵌套类型断言类型判断处理断言处理多类型判断switch type链表使用接口在Go语言中接口(interface)是一种类型,一种抽象的类...原创 2022-04-21 22:25:58 · 722 阅读 · 0 评论 -
GO结构体方法(一些实例)
目录别名定义示例:变量别名定义示例:结构体别名定义工厂模式Tag原信息结构体与JSON序列化结构体标签(Tag)Golang匿名字段 :方法示例:传统数据类型自定义方法,做数据类型转化。别名定义示例:变量别名定义package mainimport "fm...原创 2022-04-17 19:59:59 · 1843 阅读 · 0 评论 -
GO结构体链表及二叉树
目录存储方式链表更新 链表实现增删改查头部添加链表 尾添加链表 从中间任意添加链表 修改链表(1-2) 2、修改结果删除链表二叉树前序遍历中序遍历——左根右后序遍历——左右根链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑...原创 2022-04-14 21:28:48 · 527 阅读 · 0 评论 -
记一次GO字符串的使用
目录GO字符串字节数组头尾处理strings使用1、位置索引2、替换3、统计次数4、重复5、大小写6、去除字符7、切片处理8、数值处理...原创 2022-04-11 20:31:58 · 353 阅读 · 0 评论 -
人生苦短我使用GO——Map
目录引入Map的实现Map的基本使用查找和判断某个值是否存在 判断某个值是否存在遍历Map元素删除按照指定顺序遍历Map元素为map类型的切片值为切片类型的map将Map传递到函数引入复合类型值的类型值的数量 值的索引数组 相同 固定 下标切片 相同 动态 下标结构体 不相同 固定 属性名Map 相同 动态 key键...原创 2022-04-07 21:18:19 · 366 阅读 · 0 评论 -
人生苦短我使用GO——GO切片
目录切片Slice创建切片的几种方式 切片初始化 通过make创建切片用append内置函数操作切片(切片追加)超出原 slice.cap 限制,就会重新分配底层数组,即便原数组并未填满。切片拷贝切片遍历字符串和切片含有中文字符串:...原创 2022-04-04 22:20:05 · 515 阅读 · 0 评论 -
人生苦短我使用GO——GO结构体
目录前言定义结构体访问结构体成员结构体作为函数参数结构体指针判断结构体是值类型还是引用类型前言数组可以存储同一类型的数据,但在结构体中我们可以为不同项定义不同的数据类型。结构体是由一系列具有相同类型或不同类型的数据构成的数据集合。结构体表示一项记录,比如班级的学生信息,每个人有以下属性:Name :姓名·Sex :性别...原创 2022-04-01 23:01:23 · 93 阅读 · 0 评论 -
人生苦短我使用GO——控制台输入
目录GO控制台输入小练习 猜价格bufio包GO控制台输入不同基础类型之间的转化对于不同的基础类型之间的转化,Go提供了strconv包。它实现了字符串与其他基本数据类型之间的转化。其中最常用的数值转化函数是Atoi和ltoa,简单了解下它的使用。Atoi方法可以将字符串类型的数值直接转化为int类型的数值,而ltoa可以将int类型的数值转化为string类型的值。示例:控制台输入一个...原创 2022-04-01 01:16:35 · 496 阅读 · 0 评论 -
人生苦短我使用GO——GO指针
目录GO指针空指针指向指针的指针多重指针示例指针作为函数参数GO指针区别于C/C++中的指针,Go语言中的指针不能进行偏移和运算,是安全指针。Go中指针很容易,使用指针可以更简单的执行一些任务。变量是一种使用方便的占位符,用于引用计算机内存地址。取地址符是&,放到一个变量前使用就会返回相应变量的内存地址。指针概念一个指针变量指向了一个值...原创 2022-03-30 22:46:46 · 563 阅读 · 0 评论 -
人生苦短我使用GO——GO数组(小demo)
目录GO数组声明数组初始化数组练习题://控制台输入10名学生的成绩,如果低于60分的,自动修正成绩为60,并且展现成绩清单访问数组元素小练习://输入5个数字,求出最大值冒泡排序定义不定长数组添加元素多维数组实例初始化一个2行2列的二维数组访问 二维数组...原创 2022-03-29 21:34:06 · 427 阅读 · 0 评论 -
人生苦短我使用GO——GO函数
目录前言基础函数函数传参函数做为实参回调函数闭包函数函数方法前言函数是基本的代码块,用于执行一个任务。Go程序中最少有个main()函数。可以通过函数来划分不同功能,逻辑上每个函数执行的是指定的任务。函数声明告诉了编译器函数的名称,返回类型,和参数。Go中的标准库提供了多种可动用的内置的函数。例如,len()函数可以接受不同类型参数并返回该类型的长度。如...原创 2022-03-28 20:42:49 · 222 阅读 · 0 评论 -
人生苦短我使用GO——GO循环(经典练习题)
目录GO语言的几种循环for循环练习,求1-10得和For-each range循环for循环嵌套练习1:输出2-100之间的质数 练习2:输出九九乘法表break语句break标记使用continue语句continue ...原创 2022-03-23 15:28:27 · 1251 阅读 · 0 评论 -
人生苦短我使用GO——GO基础篇(基础语法、数据类型、常、变量、运算符、判断语句)
go的第一行//任何一个文件都隶属于一个包package main//使用某个包下的函数,要导入改函数和方法的包import ( "fmt")func main() { fmt.Println("hello world") fmt.Print(12343) fmt.Printf("love")}1.第一行代码package main定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如: package main。packagema原创 2022-03-18 21:13:45 · 327 阅读 · 0 评论 -
人生苦短我用GO——go语言的安装
目录Go介绍特性安装GO环境安装编写go的编辑器——vscode总结Go介绍Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。现...原创 2022-03-14 21:35:06 · 330 阅读 · 0 评论