日期: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. iis 发布mvc

    转载地址:https://www.cnblogs.com/Leo_wl/p/3866625.html

  2. python基本数据类型之字符串(五)

    python基本数据类型之字符串(五) 遍历与查找 python中的字符串属于可迭代对象,通过一些方法可以遍历字符串中的每一个字符.而查找的方法主要有两个:find与index. 1.字符串的遍历 字 ...

  3. 【转】Closeable, Readable, Flushable, Appendable

    Closeable: package java.io; import java.io.IOException; public interface Closeable { /** * Closes th ...

  4. React Native桥接器初探

    本文假设你已经有一定的React Native基础,并且想要了解React Native的JS和原生代码之间是如何交互的. React Native的工作线程 shadow queue:布局在这个线程 ...

  5. 如果你要查看文件的每个部分是谁修改的, 那么 git blame 就是不二选择

    原文: http://gitbook.liuhui998.com/5_5.html 如果你要查看文件的每个部分是谁修改的, 那么 git blame 就是不二选择. 只要运行'git blame [f ...

  6. CASUAL_NCT

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Da ...

  7. ASP.NET Core 请求/查询/响应参数格式转换(下划线命名)

    业务场景: 在 ASP.NET Core 项目中,所有的代码都是骆驼命名,比如userName, UserName,但对于 WebApi 项目来说,因为业务需要,一些请求.查询和响应参数的格式需要转换 ...

  8. Linux开机执行指定shell

    目的:希望linux在开机或重启后第一时间启动部分服务或者执行特定脚本 1.需要在/etc/init.d/目录下建立对应的shell脚本,示例如下: 开机启动docker-compose中的所有容器 ...

  9. Ubuntu 18.0.4安装docker

    第一步:如果之前安装过docker,执行下面命令删除 apt-get remove docker docker-engine docker.io 删除后执行sudo apt-get update更新软 ...

  10. HttpWebRequst中https的验证处理问题

    最近在公司项目中使用了HttpWebRequst相关API,运行环境为.Net/Mono 2.0,是一款针对Unity平台的工具.开发过程中碰到了大家可能都碰到过的问题,Http还是Https? 为什 ...