ZXH的 《Go 语言入门指南:基础语法和常用特性解析-1》|青训营

76 阅读2分钟

Day1:《Go 语言入门指南:基础语法和常用特性解析-1》

1.首先我们要清楚GO是一门编译型语言。 常见的编译型语言有:C\C++、java(混合编译型)。在编译型语言中,源代码文件(比如.c.java)通过编译器将其转换为等效的机器代码文件(.class),然后可以直接在计算机上执行。编译过程通常会包括词法分析、语法分析、语义分析和代码优化等步骤。

2.解析以下代码:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World")
}

Go语言的代码通过(package)组织,包类似于其它语言里的库(libraries)或者模块(modules)。 一个包由位于单个目录下的一个或多个.go源代码文件组成,目录定义包的作用。每个源文件都以一条package声明语句开始,这个例子里就是package main,表示该文件属于哪个包,紧跟着一系列导入(import)的包,之后是存储在这个文件里的程序语句。

需要注意的是:每个 Go 文件都属于且仅属于一个包。一个包可以由许多以 .go 为扩展名的源文件组成,package main 表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包。

fmt包,包含有格式化输出、接收输入的函数。

main是整个程序执行的入口。

fmt.Println()是一个输出函数。

3.导入多个包的方式: import ( "fmt" "os" ) fmt和os都是标准库,是go官方提供内置的。

4.有趣的可见性规则 跟java、C++等面向对象编程语言类似,go也有类似的公有、私有权限修饰符。只不过go中式通过大小写的方式去进行控制的,比如名字为Group的标识符是公有开放的,如果是group的标识符就是私有不可见的。

5.跟其他语言不同的是,如果你导入了一个包却没有使用它,就会报错,保证不出现不必要的代码。

6.如何定义一个函数?

答: func functionName(parameter_list paraType) (return_value_list returnType) { … }

这是我个人觉得比较烦的一点,go中的函数形参和返回参数都是参数在前,参数的类型在后。比如: func FunctionName (a typea, b typeb) (t1 type1, t2 type2) 我个人不是很习惯。

7.数据类型:布尔类型、数字类型、字符串类型、派生类。

今天的学习就到这里了,明天见~