一、go语言工作目录及关键字

1、所有的go源码都是以“.go”结尾

工作目录结构

go
   —— bin   #可执行文件

   —— pkg   #存放编译后生成的包文件

   —— src   #存放项目源码(在这个目录往往会基于项目或域名区分)

      —— github.com   #代码从github上下载的

2、关键字

break     default    func   interface  select     case        defer     go       map    

struct    const      chan     else     goto       package     swtich    continue  

for      import      return   var      type       range       fallthrough   if

二、go语言的组成

1、包申明

package main

第一行代码 package main 定义了包名。你必须在源文件中非注释的第一行指明这个文件属于哪个包,如: package main 。 package main 表示一个可独立执行的程序,每个 Go 应用程序都包含一个名为 main 的包

 

2、引入包

 

import "fmt"

告诉 Go 编译器这个程序需要使用 fmt 包(的函数,或其他元素), fmt 包实现了格式化 IO (输入 / 输出)的函数。

 

3、函数

 

func main(){
    fmt.Println("hello world!")
}

是程序开始执行的函数。 main 函数是每一个可执行程序所必须包含的,一般来说都是在启动后第一个执行的函数(如果有 init() 函数则会先执行该函数)。

 

4、变量

 

var name string = "go"

go 的变量声明会采用 var 关键词进行声明同时会携带上声明的数据类型

 

三、go语言的数据类型

 

1、整型

整型数据分为两类,有符号和无符号两种类型

 

有符号 : int, int8, int16, int32, int64

 

无符号 : uint, uint8, uint16, uint32, uint64, byte

 

github go语言 import go语言package main_浮点型

 

2、 布尔型

 

布尔型的值只可以是常量 true 或者 false。一个简单的例子:var b bool = true。

 

3、 字符串类型:


字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go 语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。 Golang中没有专门的字符类型中 ,如果要存储单个字符 ( 字母 ) ,一般使用 byte 来保存。

 

字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的,也就是说对于传统的字符串是由字符组成的,而Go的字符串不同,它是由字节组成的 。

 

  • 字符只能被单引号包裹,不能用双引号,双引号包裹的是字符串
  • 当我们直接输出type值时,就是输出了对应字符的ASCII码值
  • 当我们希望输出对应字符,需要使用格式化输出
  • Go语言的字符使用UTF-8编码,英文字母占一个字符,汉字占三个字符
  • 在Go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8编码的码值。
  • 可以直接给某个变量赋一个数字,然后按格式化输出时%c,会输出该数字对应的unicode字符
  • 字符类型是可以运算的,相当于一个整数,因为它们都有对应的unicode码

 

4、 派生类型:
包括:

  • (a) 指针类型(Pointer)
  • (b) 数组类型
  • (c) 结构化类型(struct)
  • (d) Channel 类型
  • (e) 函数类型
  • (f) 切片类型
  • (g) 接口类型(interface)
  • (h) Map 类型

5、浮点型

浮点型也就是小数类型,可以存放小数。比如 6.6 , -12.34

 

1. 关于浮点数在机器中存放形式的简单说明,浮点数 = 符号位 + 指数位 + 尾数位

 

2. 尾数部分可能丢失,造成精度损失。 -123.0000901

 

3. 浮点型的存储分为三部分:符号位 + 指数位 + 尾数位,在存储过程中,精度会有丢失

 

4. golang 的浮点型默认为 float64 类型

 

5. 通常情况下,应该使用 float64, 因为它比 float32 更精确

 

6. 0.123 可以简写成 .123, 也支持科学计数法表示 :5.1234e2 等价于 512.34

github go语言 import go语言package main_github go语言 import_02