日期:2014年7月18日

 
1、简介
    Go 编程语言是一个使得程序员更加有效率的开源项目。Go 是有表达力、简 洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有性的模块化程序。Go 编译到机器码非常快 速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。
    Go 是第一个实现了简单的(或更加简单的)并行开发,且跨平台的类 C 语言。
 
2、Go语言文档查看
    安装好Go语言之后,其文档可以通过go doc命令查看,例如查看fmt,在命令行输入go doc fmt即可。如果要查看某个包中的子目录的文档,使用go doc parent_package/son_directory,例如go doc hash/fnv
 
3、Go语言与其它语言的一些区别
    1)清晰并且简洁:Go 努力保持小并且优美,你可以在短短几行代码里做许多事情
    2)并行:Go 让函数很容易成为非常轻量的线程。这些线程在 Go 中被叫做 goroutines
    3)Channel :goroutines 之间的通讯由 channel完成
    4)快速:编译很快,执行也很快。目标是跟 C 一样快。编译时间用秒计算
    5)安全:当转换一个类型到另一个类型的时候需要显式的转换并遵循严格的规则。Go 有 垃圾收集,在 Go 中无须 free(),语言会处理这一切
    6)标准格式化:Go 程序可以被格式化为程序员希望的(几乎)任何形式,但是官方格式是存在 的。标准也非常简单:gofmt 的输出就是官方认可的格式
    7)类型后置:类型在变量名的后面,像这样 var a int,来代替 C 中的 int a
    8)UTF-8:任何地方都是 UTF-8 的,包括字符串以及程序代码。你可以在代码中使用
    9)开源:Go 的许可证是完全开源的
 
4、Go语言的Hello World
      (1)package main 
      (2)import "fmt" // 实现格式化的 I/O
           /* Print something */
      (3)func main() { 
      (4)       fmt.Printf("Hello,World!") 
      (5)}
     解释:
    第(1)行是必须的,所有的Go文件以package <something>开头,对于独立运行的执行文件必须是package main;
    第(2)行需要将fmt包加入main,在Go中,package必须先于import出现,当Go语言执行时,首先会调用main.main()
    第(4)行调用了fmt包中的函数来打印字符串到屏幕,字符串由 " 包裹,并且可以包 含非 ASCII 的字符。
    Go语言的代码注释和其它语言的用法基本一致,单行注释可用//,多行注释可用/*  */
    编译和运行:
        构建:go build helloworld.go,编译完成后会生成helloworld的可执行文件
        运行:./helloworld
        或者直接使用go run命令编译运行,go run helloworld.go
    例如:
   
    编译完成后:
   
     运行:
    
 
     或者:
    

Go语言学习笔记(一) [Go语言的HelloWorld]的更多相关文章

  1. C语言学习笔记一---C语言概述

    一.编程语言与解释语言 1.程序的执行 a.解释:借助一个能试图理解程序的程序,使计算机按要求执行你自己写的程序 b.编译:将所写程序翻译为机器语言写的程序,使计算机按要求执行你自己写的程序 2.两者 ...

  2. C语言学习笔记01——C语言概述

    作者:Eventi 出处:http://www.cnblogs.com/Eventi 欢迎转载,也请保留这段声明.谢谢! 1 C语言的起源 1972年,贝尔实验室的丹尼斯·里奇(Dennis Ritc ...

  3. 【C语言学习笔记】C语言函数执行成功时,返回1和返回0,究竟哪个好?

    基本上,没有人会将大段的C语言代码全部塞入 main() 函数,更好的做法是按照复用率高,耦合性低的原则,尽可能的将代码拆分不同的功能模块,并封装成函数.C语言代码的组合千变万化,因此函数的功能可能会 ...

  4. go语言学习笔记-初识Go语言

    Go语言是怎样诞生的? Go语言的创始人有三位,分别是图灵奖获得者.C语法联合发明人.Unix之父肯·汤普森(Ken Thompson).Plan 9操作系统领导者.UTF-8编码的最初设计者罗伯·派 ...

  5. R语言学习笔记1——R语言中的基本对象

    R语言,一种自由软件编程语言与操作环境,主要用于统计分析.绘图.数据挖掘.R本来是由来自新西兰奥克兰大学的Ross Ihaka和Robert Gentleman开发(也因此称为R),现在由“R开发核心 ...

  6. C语言学习笔记:15_c语言中的进制操作.c

    /* * 15_c语言中的进制操作.c * * Created on: 2015年7月5日 * Author: zhong */ #include <stdio.h> #include & ...

  7. C语言学习笔记---2.C语言数据类型

    1.C语言基本数据类型 1.1 int类型 int类型是有符号整型,即int类型的值必须是整数,可以是正整数.负整数或零.其取值范围依计算机系统而异.一般而言,储存一个int要占用一个机器字长. 声明 ...

  8. C语言学习笔记---1.C语言概述

    1.典型C程序结构 2.C程序细节 2.1#include指令和头文件 #include这行代码是一条C预处理器指令(preprocessor directive).通常,C编译器在编译前会对源代码做 ...

  9. C语言学习笔记 (008) - C语言字符串操作总结大全(超详细)(转)

    1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...

随机推荐

  1. MyBatis-Plus 多库部署方式;spring mvc 多库部署方式

    1.实现mybatis-plus的多个数据库的切换方式 源码地址:https://github.com/baomidou/mybatisplus-spring-mvc 2.因为其文档都是相互依赖的,所 ...

  2. UVa 11645 Bits (暴力+组合数学)

    题意:给定一个数 n,求 0 ~ n,中二进制表示中连续两个 1 出现的次数. 析:枚举连续的两个 1,从低位向高位进行枚举,然后前可以是任意数,后面也是任意的,如果 n 正好是 11 还要另算,举个 ...

  3. Hibernate 基础入门

    概述: JDBC:将java和数据库连接的驱动程序加载到项目中,在代码里面,注册驱动,创建链接,创建satement对象,发送并执行sql之类,关闭连接. hibernate :数据持久化一个框架,对 ...

  4. 整理python小爬虫

    编码使我快乐!!! 我也不知道为什么,遇到自己喜欢的事情,就越想做下去,可以一个月不出门,但是不能一天没有电脑 掌握程度:对python有了一个更清晰的认识,自动化运维,也许可以用python实现呢, ...

  5. Linux 线程编程2.0——线程同步-互斥锁

    当我们需要控制对共享资源的存取的时候,可以用一种简单的加锁的方法来控制.我们可以创建一个读/写程序,它们共用一个共享缓冲区,使用互斥锁来控制对缓冲区的存取. 函数 pthread_mutex_init ...

  6. mysql windows 5.7 安装版下载地址

    https://dev.mysql.com/downloads/windows/installer/5.7.html

  7. 参数签名ascii码排序的坑

    参数签名中通常是按键值对中键名称的ASCII按从小到大的顺序排序后进行hash为签名字符串.不要直接使用 SortedDictionary<string, string> 有坑的,他是按数 ...

  8. Android热修复——Tinker的集成

    前言 做前端开发的都知道,当我们项目做完了以后,都会把应用上传到应用市场上供用户下载使用,比如上传到应用宝啊,应用汇啊,360啊,小米,华为,魅族啊,等等但是,有时候我们会经常遇到一些很扯淡的事情,刚 ...

  9. AndroidStudio制作欢迎界面与应用图标

    前言 大家好,给大家带来AndroidStudio制作欢迎界面与应用图标的概述,希望你们喜欢 欢迎界面与应用图标 本项目使用Android Studio 3.0.1作为开发工具 activity_sp ...

  10. LabVIEW(十):数组和簇

    一.数组 1.创建数组 (1).前面板右键>“数组.矩阵与簇”>数组. (2).前面板右键>(选择要添加的数组数据类型,比如创建数值数组)数值>将“数值输入控件”拖入数组中. ...