1.Go语言的简述

Go语言可能大家对它并不是很了解,因为它相对其他语言来说实在是太年轻了,从创建到现在仅仅十年,09年,谷歌团队初设该想法,到实现也就是10年时间,对于go语言,它不是万能的,每种语言都有其优点和缺点,就如python一样,以其简约风格获得大多数人的赞可,但是python也因如此,导致它的编译速度比c c++ java慢了数十倍,而GO语言如创始人所说:既有python的风格,又兼备c的编译速度.(虽然每个人都在推荐自己的产品),新型的语言目前只是小部分人的学习,但是掌握多一门技术对自己并不是坏事,尤其在时间比较充裕的大学阶段,我不知道大一下学期是否还有学Java,虽然我看到别人的什么Java书几乎一千页,有点害怕...,好了,进入正题吧!

2.GO语言的优缺点

(1).优点: 并发性 通道(channel) 垃圾回收机制

并发性就我本人的理解,也就是开启多线程的意思,那个,大家都或多或少了解过一点吧,并行和串行的意思,在其它语言中,我们要考虑这个问题,如何避免单核CPU爆满的现象.这是每个程序员要考虑的问题,比如(线程,进程,协程),因为现在的机器都是多核的,如何才能利用好呢,GO语言就提供这种解决方法,只需要调用go 函数,就可以自动帮你创建goroute(喻为轻量级线程),它与线程不同,它比线程占用的内存更小,只要几百字节就行,所以有可能的话,可以创建几千或者过万的goroute.减少了程序员考虑内存的问题.

垃圾回收机制,即回收没有利用的内存,及时清理避免内存积累过多导致机器运行速度下降,过多内存甚至会导致机器死机,这也是程序员要考虑的问题,特别是Java编写的应用,手机上又得添加清理的程序等,而go会进行特定的清理没用的内存,避免这种的问题.

通道(channel),功能与Linux上的管道符差不多,意思是对两个单独的函数建立联系,传递数据,这种的优点大家都知道意味这什么.更加方便地进行函数值的传递.

配置环境好后,可以go 看看是不是配置好了

3.helloword的编写

package main()#导入包

import  "fmt"

func  main() {

        fmt.Println("Hello world")

}

4.并发性的演示

他的顺序不是从一开始的,它开始就到了49,然后才到1,这里证明了它的并发性.

5.通道符

指出了channel中的数据贮存,实时变化,建立了联系.

我们可以编译一下成exe文件,这里吐槽一下,window下的cmd命令实在比不过Linux,好多命令都没有..

GoLang入门(一)的更多相关文章

  1. Java程序员的Golang入门指南(下)

    Java程序员的Golang入门指南(下) 4.高级特性 上面介绍的只是Golang的基本语法和特性,尽管像控制语句的条件不用圆括号.函数多返回值.switch-case默认break.函数闭包.集合 ...

  2. Java程序员的Golang入门指南(上)

    Java程序员的Golang入门指南 1.序言 Golang作为一门出身名门望族的编程语言新星,像豆瓣的Redis平台Codis.类Evernote的云笔记leanote等. 1.1 为什么要学习 如 ...

  3. Golang 入门 : 竞争条件

    笔者在前文<Golang 入门 : 理解并发与并行>和<Golang 入门 : goroutine(协程)>中介绍了 Golang 对并发的原生支持以及 goroutine 的 ...

  4. Golang 入门 : goroutine(协程)

    在操作系统中,执行体是个抽象的概念.与之对应的实体有进程.线程以及协程(coroutine).协程也叫轻量级的线程,与传统的进程和线程相比,协程的最大特点是 "轻"!可以轻松创建上 ...

  5. Golang 入门 : channel(通道)

    笔者在<Golang 入门 : 竞争条件>一文中介绍了 Golang 并发编程中需要面对的竞争条件.本文我们就介绍如何使用 Golang 提供的 channel(通道) 消除竞争条件. C ...

  6. 推荐一个GOLANG入门很好的网址

    推荐一个GOLANG入门很好的网址,栗子很全 https://books.studygolang.com/gobyexample/

  7. Golang入门(4):并发

    摘要 并发程序指同时进行多个任务的程序,随着硬件的发展,并发程序变得越来越重要.Web服务器会一次处理成千上万的请求,这也是并发的必要性之一.Golang的并发控制比起Java来说,简单了不少.在Go ...

  8. Golang入门(3):一天学完GO的进阶语法

    摘要 在上一篇文章中,我们聊了聊Golang中的一些基础的语法,如变量的定义.条件语句.循环语句等等.他们和其他语言很相似,我们只需要看一看它们之间的区别,就差不多可以掌握了,所以作者称它们为&quo ...

  9. Golang入门(2):一天学完GO的基本语法

    摘要 在配置好环境之后,要研究的就是这个语言的语法了.在这篇文章中,作者希望可以简单的介绍一下Golang的各种语法,并与C和Java作一些简单的对比以加深记忆.因为这篇文章只是入门Golang的第二 ...

  10. Golang入门(1):安装与配置环境变量的意义

    摘要 在几年前学习Java的时候,环境的配置就会劝退一部分的初学者.而对于Golang来说,也需要从环境的配置开始学起.这一篇文章将从如何安装Golang开始讲起,随后将会提到Golang中的环境变量 ...

随机推荐

  1. Mongo.exe 无法定位程序输入点terminate于动态链接库 *.dll的解决办法

    Win7 或者Winserver 上安装新版的Mongo后,总是提示如上问题,可使用如下方法解决: 一是系统更新到SP1,并安装了KB2999226这个更新包(重要): 二是安装安装 Visual C ...

  2. 【Alpha】Daily Scrum Meeting——blog3

    团队成员 吴吉键 201421122007(组长) 魏修祺 201421122008 孙劲林 201421122022 1. 会议当天照片 2. 每个人的工作 姓名 已完成工作 计划完成工作 遇到的困 ...

  3. 如何检查oracle的归档空间是否满了

    如何检查oracle的归档空间是否满了   关于如何检查归档空间是否慢了,大多数人会去先检查放归档的目录的磁盘空间是否满了,通过该归档目录空余情况来判断归档空间是否满了,但我觉得这个方法不一定代表实际 ...

  4. rabbitmq的万能安装和外网访问(NC版)

    先去这个http://www.rabbitmq.com/releases/下载erlang环境和rpm(erlang的尽量高点,rabbitmq版本差不多就可以了,) erlang-19.0.4-1. ...

  5. python第十一课——转换结构

    3.转换函数:int():float():str():list():tuple():set():dict():bool(): 案例: #演示各个转换函数的使用: 数值型-->字符型使用:str( ...

  6. Operating System-Thread(3)用户空间和内核空间实现线程

    http://www.cnblogs.com/Brake/archive/2015/12/02/Operating_System_Thread_Part3.html 本文主要内容: 操作系统用户空间和 ...

  7. 【洛谷】【搜索(dfs)】P1363 幻想迷宫

    [题目描述:] 幻象迷宫可以认为是无限大的,不过它由若干个N*M的矩阵重复组成.矩阵中有的地方是道路,用'.'表示:有的地方是墙,用'#'表示.LHX和WD所在的位置用'S'表示.也就是对于迷宫中的一 ...

  8. numpy的操作

    import numpy as np ######################## # 索引 n1 = np.random.randint(0, 100, 10) # print(n1) ''' ...

  9. Java实现Package编译和访问

    Java实现Package编译和访问 说明 所有文件都是使用UTF-8编码来写的,请不要用Windows记事本随便打开 Test.java文件中注释的方法说明了该类是不能访问其方法的 文件目录树 bi ...

  10. 多线程之Thread类

    Java并发编程:Thread类的使用 在前面2篇文章分别讲到了线程和进程的由来.以及如何在Java中怎么创建线程和进程.今天我们来学习一下Thread类,在学习Thread类之前,先介绍与线程相关知 ...