go语言的快速入门之葵花宝典

2020-07-09 00:00:00 语言 专区 并发 结构 数据结构

go

作为一个正在新兴的程序语言,想必很多童鞋都在学习或者使用当中

话不多说,直接上干货吧


go,作为静态语言,强类型语言。所以,对于之前写java或者python的童鞋会有一点不适应

其实go很简单,掌握以下6点,就掌握了go,so easy 麽?

1,指针

2,结构体

3,方法

4,接口

5,并发

6,管道


其中1和6童鞋们了解的应该都比较多,其他的可能就了解的比较少

2,结构体:

结构体是一种数据结构,你可以认为是dict或者list 等等,反正记住就是一种数据结构就好

eg:

type Test strcut {

name string

}


3,方法:

方法并不是公开的def 函数,而是属于数据结构私有的行为

eg:

func (t Test) TestFunc() {

log.Println("name is %s",t)

}


4,接口:

接口这个较为复杂,是多态体现的重要基础之一,详情后续补充

eg:

type TestInterfacer Interfacer {

Hello()

}


5,并发:

这个为go语言的特色之一,你不需要像python一样引入第三方库来进行处理解决,并且效果甚好,每当调用go的时候,go语言会为其单独分配一个协程来进行处理,当然,所有的并发,想必读者们都会考虑读写锁的问题,这里go语言来会单独提供了2种方案来进行(原子锁和互斥锁),这里,笔者简单介绍下互斥锁,由他来解决同步写的干扰问题

eg:

//并发

go func Test() {

log.Println("this is golang")

}



eg:

//互斥锁

import sync

import os


go func Test() {

sync.Lock() //加锁

os.WriteString("hello world~")

sync.Unlock() //程序结束,解锁

}



6,管道:

共分为有缓冲和无缓冲两类

相关文章