摘要 在上一篇文章中,我们聊了聊Golang中的一些基础的语法,如变量的定义.条件语句.循环语句等等.他们和其他语言很相似,我们只需要看一看它们之间的区别,就差不多可以掌握了,所以作者称它们为"基础语法".在这篇文章中,我们将聊一聊Golang的一些语言特性,这也是Golang和其他语言差别比较大的地方.除此之外,还有一部分内容是关于Golang的并发,这一部分将在下一篇文章中介绍. 1 结构体 在Java中,我们已经体会过了面向对象的方便之处.我们只需要将现实中的模型抽象出来,就成为…
摘要 在配置好环境之后,要研究的就是这个语言的语法了.在这篇文章中,作者希望可以简单的介绍一下Golang的各种语法,并与C和Java作一些简单的对比以加深记忆.因为这篇文章只是入门Golang的第二篇文章,所以本文并不会对一些指令进行深挖,仅仅只是停留在"怎么用"的程度,至于"为什么是这样",则涉及到了具体的应用场景和汇编指令,作者将会在以后的文章中进行介绍. 1 导包 总所周知,"Hello World"是程序员的一种仪式感. 而这一行&qu…
Linux系统是使用Linux内核及开源自由软件组成的一套操作系统,是一种类UNIX系统,其内核在1991年10月5日由林纳斯·托瓦兹首次发布. 它的主要特性:Linux文件一切皆文件.完全开源免费.支持多用户和多任务.同时还支持多种架构平台.可靠的安全性.良好的稳定性.具有强大的网络功能.多样图形界面: 近几年Linux系统慢慢吸引了不少人,正是由于它的强大,支撑着巨大的项目,并不断影响着大多数人的生活.其实大家对于Linux系统并不陌生,或多或少都有接触过,因为你身边已经无处不在了, 比如你…
摘要 并发程序指同时进行多个任务的程序,随着硬件的发展,并发程序变得越来越重要.Web服务器会一次处理成千上万的请求,这也是并发的必要性之一.Golang的并发控制比起Java来说,简单了不少.在Golang中,没有多线程这一说法,只有协程,而新建一个协程,仅仅只需要使用go关键字.而且,与Java不同的是,在Golang中不以共享内存的方式来通信,而是以通过通信的方式来共享内存.这方面的内容也比较简单. 1 线程与协程 在Golang中,并发是以协程的方式实现的. 在Java中,我们常常提到线…
摘要 在几年前学习Java的时候,环境的配置就会劝退一部分的初学者.而对于Golang来说,也需要从环境的配置开始学起.这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量GOROOT和GOPATH的配置以及这两个环境变量起到什么样的效果. 下面开始: 安装 和其他语言的安装类似,golang的安装我们也可以采用三种方式进行,从简单到复杂依次是通过可执行文件的安装.官方二进制包安装和源码编译安装. 我们可以在这里获取最新版本的go安装文件. 在这里解释一下,其实二进制…
作为帅气小编,我已经把python一些模块的甩在这儿了qwq,只要你拿到这些干货,包你玩转python,直接冲向"大佬"的段位,如果已经学了C或者C++或者说如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们.Python入门教程.热爱python的小伙伴可以加我Q群867067945,里面都是想学习编程的小伙伴,还有大佬专门给你解答编程类的难题哦python web开发2.Python网络爬虫Pyth…
Java程序员的Golang入门指南(下) 4.高级特性 上面介绍的只是Golang的基本语法和特性,尽管像控制语句的条件不用圆括号.函数多返回值.switch-case默认break.函数闭包.集合切片等特性相比Java的确提高了开发效率,但这些在其他语言中也都有,并不是Golang能真正吸引人的地方.不仅是Golang,我们学习任何语言当然都是从基本语法特性着手,但学习时要不断地问自己:使这门语言区别于其他语言的"独到之处"在哪?这种独到之处往往反映了语言的设计思想.出发点.要解决…
w3cschool是一个非盈利性的在线技术学习网站,提供按W3C标准编写的基础教程.完整的看完w3cschool上面的手册,可以基本掌握编程语法.基础性的东西通常都会比较零散,因此,在学习一段时间后,容易进入迷茫期.感觉学了挺多东西,但是不知道如何形成一个完整的项目. 这个时候,最重要的是多动手(找一些网站仿着做),只有多做才能逐步找到自己不懂的东西,找资料学习.工作中遇到的坑太多,只学w3cschool上面的知识当然远远不够. 在学完w3cschool上面的知识之后,可以从这些方式来提升: ➤…
笔者在<Golang 入门 : 竞争条件>一文中介绍了 Golang 并发编程中需要面对的竞争条件.本文我们就介绍如何使用 Golang 提供的 channel(通道) 消除竞争条件. Channel 是 Golang 在语言级别提供的 goroutine 之间的通信方式,可以使用 channel 在两个或多个 goroutine 之间传递消息.Channel 是进程内的通信方式,因此通过 channel 传递对象的过程和调用函数时的参数传递行为比较一致,比如也可以传递指针等.使用通道发送和接…
不少同学从Hello world学到文件操作之后,回顾感觉会又不会? 学会了又感觉没学会?这种不踏实.模糊虚无的感觉?   原因在于编程不同于理论学科,你听懂和理解了理论就可以运用. 比如历史地理,看完书,我们在讨论的时候:"北美洲和南美洲的分界是什么?辛亥革命是什么时候?"这些问题只要你看到过,脑子有记忆你都可以说出来,从大脑记忆到用嘴表达是我们很顺理成章的事情,因此你会觉得很容易.   但如果是编程,比如我们在谈论数组的时候,你想到的只能是书本上 "int a[10]&q…