文章 2022-12-07 来自:开发者社区

【Go】Go语言学习笔记--Go语言基础【下】

值为切片的mapvar sliceM1 = make(map[string][]string, 4) sliceM1["names"] = make([]string, 4) sliceM1["names"] = append(sliceM1["names"], "小王","小黄","小李") fmt.Println(sliceM1) 复制代码练习题写一个程序,统计一个字符串中每个单词出现的次数....

文章 2022-08-04 来自:开发者社区

「Go学习笔记」2.Go语言由什么组成?

标识符Go语言标识符是用于标识变量、函数或任何用户自定义项目的名称(程序实体),这个标识符就类似java中的数据类型(基本数据类型、引用数据类型)。标识符有两种类别,一种是用户自定义的标识符,它作为程序的实体存在。另一种标识符成为预定义标识符,是Go语言源代码中声明的。例如:数据类型bool(true和false)、byte、uint、uint8、uint16、uint32、uint64、int....

「Go学习笔记」2.Go语言由什么组成?
文章 2022-06-08 来自:开发者社区

Go语学习笔记 - select | 从零开始Go语言

学习笔记,写到哪是哪,今天就看了一个select,好好理解了一下。select主要是用来监听chan的,使用方式和switch有点类似。注意如果没有default语句,则会永久等待。可以使用time.After来进行超时控制,也可以使用break进行打断。样例代码如下面展示的内容package main import ( "fmt" "time" ) func GoPick1(ch ch...

文章 2022-06-08 来自:开发者社区

Go语学习笔记 - chan | 从零开始Go语言

学习笔记,写到哪是哪。chan类似于java和python里面queue的使用,注意是线程安全的,自带锁。总结一下使用口诀,初始化需要make,chan在前为发送,chan在后为接受。样例代码如下package main import "fmt" func send(ch chan int) { for i := 0; i <= 5; i++ { ch <- i fmt....

文章 2022-06-08 来自:开发者社区

Go语学习笔记 - 读写锁 | 从零开始Go语言

学习笔记,写到哪是哪。读写锁是我们工作中常用的,说白了,可以同时读,但是不能同时写。样例代码如下package main import ( "fmt" "sync" "time" ) var ( rwCount int myRWLock sync.RWMutex wg2 sync.WaitGroup ) func ReadCount() int { myR...

文章 2022-06-08 来自:开发者社区

Go语学习笔记 - 互斥锁 | 从零开始Go语言

学习笔记,写到哪是哪。同一时刻只有一个协程可以访问该资源,其他线程只能等待,互斥性。互斥锁在工作项目中用的还是比较多的,但是要注意死锁,也就是一定要注意释放锁的过程是否能够执行。样例代码如下package main import ( "fmt" "sync" "time" ) var ( count int myLock sync.Mutex wg1 sync.W...

文章 2022-06-08 来自:开发者社区

Go语学习笔记 - panic、recover | 从零开始Go语言

学习笔记,写到哪是哪。Go语言中的程序终止,可以使用panic关键字主动终止。和error不同,是导致程序无法继续执行的中止。1、配合defer使用配合panic中止后,defer后的语句也会继续执行。样例代码如下package main import ( "fmt" ) func test_panic1() { defer fmt.Println("宕机执行内容1") defer ...

文章 2022-06-08 来自:开发者社区

Go语学习笔记 - defer | 从零开始Go语言

学习笔记,写到哪是哪。Go语言的defer关键字很神奇,在其他语言没见过。defer后的内容会在方法执行结束后执行,但是要注意如果存在多个defer语句的时候,defer的执行顺序是倒序的。样例代码如下package main import ( "fmt" "sync" ) var ( baseMap = make(map[string]int) lock sync.Mut...

文章 2022-06-08 来自:开发者社区

Go语学习笔记 - 结构体方法接收器 | 从零开始Go语言

学习笔记,写到哪是哪。可以对自定义结构体或者内置类型结构体,添加方法,方法可接收结构体指针。这种写法让我思考了一下项目结构问题,如果是这样的话,是不是把结构体都先放到一个gofile里面,要使用的时候引入就好了。如果结构体缺什么方法,可以直接加就行了。样例代码如下package main import "fmt" type Person struct { name string age ...

文章 2022-06-08 来自:开发者社区

Go语学习笔记 - list | 从零开始Go语言

Go语言中container/list包,list实际上是双向链表,和java一样,在插入和删除操作中会比较高效。样例代码如下package main import ( "container/list" "fmt" ) func test_list1() { var list1 = list.New() list1.PushBack("a") list1.PushBack(1...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

产品推荐

开发与运维

集结各类场景实战经验,助你开发运维畅行无忧

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等