1

01.GO语言简介

语言特点

Go语言是一门并发支持、垃圾回收的编译型语言。
从某种意义上可以说是C的优化版本。

语言优势

  1. 静态编译语言,可以在编译的时候检查出来隐藏的大多数问题
  2. 不依赖其他库,部署就传一个文件即可。
  3. 高性能,高效并发。可以说就是为并发而生的。
  4. 内存安全,高效的垃圾回收 。
  5. 快速编译,相比较于C++。
  6. 简单易学 ,和C一样,语法极其简介。
  7. 内置格式化代码,代码格式一模一样 。
  8. 跨平台编译,可以直接包含C代码。

语言特点

  1. 保留但大幅度简化指针
  2. 多参数返回
  3. array slice map等内置基本数据结构
  4. 错误处理(panic recover error)
  5. interface
  6. Goroutine
  7. 多核处理和网络开发
  8. 部分函数式编程(匿名函数、闭包),反射,语言交互性
  9. Package即目录

go的哲学

连接:组件的耦合方式,组件是如何被连接起来的
组合:形成复合对象的基础。

go中文在线文档https://studygolang.com/pkgdoc

02.环境安装

03.入门

别问,问就是hello world

//1) go语言以包作为管理单位
//2) 每个文件必须先声明包
//3) 程序必须有一个main包(重要)
package main

//fmt 包实现了格式化 IO(输入/输出)
import "fmt"

//入口函数
func main() { //左括号必须和函数名同行
    //打印
    //"hello go"打印到屏幕, Println()会自动换行
    //调用函数,大部分都需要导入包
    /*
        这也是注释, 这是块注释
    */
    fmt.Println("hello go") //go语言语句结尾是没有分号
    //字符串输出到控制台 最后自动增加换行字符 \n
    fmt.Println("hello itcast")
}

代码分析

  1. 每个Go源代码文件的开头都是一个package声明,表示该Go代码所属的包。

包是Go语言里最基本的分发单位,也是依赖关系的体现。
所以叫包即目录

  1. 要生成Go可执行程序,必须建立一个名字为main的包,并且在该包中包含一个叫main()的函数(该函数是Go可执行程序的执行起点)。也就是入口函数
  2. Go语言的main()函数不能带参数,也不能定义返回值
  3. import语句,用于导入该程序所依赖的包。由于本示例程序用到了Println()函数,所以需要导入该函数所属的fmt包。类似于C的include
  4. 所有Go函数以关键字func开头。一个常规的函数定义包含以下部分:
func 函数名(参数列表)(返回值列表) {
    // 函数体
}
  1. Go程序的代码注释与C++保持一致,即同时支持以下两种用法:
    /* 块注释 */
    
    // 行注释
  1. Go程序并不要求开发者在每个语句后面加上分号表示语句结束,这是与C和C++的一个明显不同之处。
  2. 注意:强制左花括号{的放置位置,如果把左花括号{另起一行放置,这样做的结果是Go编译器报告编译错误

写完了跑跑看

Go命令:

build:用于编译给定的代码包或Go语言源码文件及其依赖包。
clean:用于清除执行其他go命令后遗留的目录和文件。
doc:用于执行godoc命令以打印指定代码包。
env:用于打印Go语言环境信息。
fix:用于执行go tool fix命令以修正给定代码包的源码文件中包含的过时语法和代码调用。
fmt:用于执行gofmt命令以格式化给定代码包中的源码文件。
get:用于下载和安装给定代码包及其依赖包(提前安装git或hg)。
list:用于显示给定代码包的信息。
run:用于编译并运行给定的命令源码文件。
install:编译包文件并编译整个程序。
test:用于测试给定的代码包。
tool:用于运行Go语言的特殊工具。
version:用于显示当前安装的Go语言的版本信息。
//运行
go run hello.go   
//编译
go build hello.go 

快乐的提千万
3 声望1 粉丝

只是从头再来罢了