Go
ydc_ss
尚在努力
展开
-
Go进阶之路——并发
goroutine并发指的是多个任务被(一个)cpu 轮流切换执行,在 Go 语言里面主要用 goroutine (协程)来实现并发,类似于其他语言中的线程(绿色线程)。操作系统线程(Native Thread)的意思就是,程序里面的线程会真正映射到操作系统的线程,线程的运行和调度都是由操作系统控制的绿色线程(Green Thread)的意思是,程序里面的线程不会真正映射到操作系统的线程,而是由语言运行平台自身来调度。goroutine是由 Go 运行时环境管理的轻量级线程。语法.原创 2020-05-09 15:07:35 · 289 阅读 · 0 评论 -
Go进阶之路——接口
接口接口类型是一种抽象类型,是方法的集合,其他类型实现了这些方法就是实现了这个接口。接口类型的值可以存放实现这些方法的任何值。/* 定义接口 */type interface_name interface { method_name1 [return_type] method_name2 [return_type] method_name3 [return_typ...原创 2020-04-28 22:02:26 · 321 阅读 · 0 评论 -
Go进阶之路——复杂类型
指针Go 具有指针。 指针保存了变量的内存地址。类型*T是指向类型T的值的指针。其零值是 `nil`。var p *int&符号会生成一个指向其作用对象的指针。i := 42p = &i*符号表示指针指向的底层的值。fmt.Println(*p) // 通过指针 p 读取 i*p = 21 // 通过指针 p 设置 ...原创 2020-04-23 22:34:14 · 365 阅读 · 0 评论 -
Goland 导入自定义包问题解决
今天在学习Go的面向对象时,想测试Go中类属性、方法的公私有问题,在另外定义一个包后,发现在main函数中无法导入。在网上查了很多博客都没能解决问题,目录页照着修改了 ,什么GOPATH也修改了,参照很多文章,他们的解决方法似乎都不太适合我。。。。经过头皮发麻,差点爆锤电脑后,终于综合多篇文章解决问题!这里介绍一下我自己的解决方法参考https://www.cnblogs.co...原创 2020-04-23 18:17:35 · 5799 阅读 · 7 评论 -
Go进阶之路——流程控制语句
forGo 只有一种循环结构——`for` 循环。基本的for循环除了没有了 `( )` 之外(甚至强制不能使用它们),看起来跟 C 或者 Java 中的一样,而 `{ }` 是必须的。package mainimport "fmt"func main() { sum := 0 for i := 0; i < 10; i++ { sum += i } f...原创 2020-04-22 23:29:32 · 165 阅读 · 0 评论 -
Go进阶之路——变量
变量var语句定义了一个变量的列表;跟函数的参数列表一样,类型在后面。就像在这个例子中看到的一样,`var` 语句可以定义在包或函数级别。package mainimport "fmt"var c, python, java boolfunc main() { var i int fmt.Println(i, c, python, java)}输出结果:...原创 2020-04-21 17:59:48 · 248 阅读 · 0 评论 -
Go进阶之路——函数与方法
函数package mainimport "fmt"func add(x int, y int) int { return x + y}func main() { fmt.Println(add(42, 13))}函数可以没有参数或接受多个参数。在这个例子中,`add` 接受两个int类型的参数。与很多编程语言不同的是,Go函数的参数类型在变量名 之后,...原创 2020-04-20 22:43:16 · 215 阅读 · 0 评论 -
Go进阶之路——基础了解
ps:来源于Go官方文档及个人总结简介Go 编程语言是一个开源项目,它使程序员更具生产力。Go 语言具有很强的表达能力,它简洁、清晰而高效。得益于其并发机制, 用它编写的程序能够非常有效地利用多核与联网的计算机,其新颖的类型系统则使程序结构变得灵活而模块化。 Go 代码编译成机器码不仅非常迅速,还具有方便的垃圾收集机制和强大的运行时反射机制。 它是一个快速的、静态类型的编译型语言,感觉...原创 2020-04-20 15:30:09 · 231 阅读 · 0 评论