Go语言学习笔记(2)--基本规则包引用、类型转换和声明等

基本结构和要素

  1. 第一个实例hello world

Go语言学习笔记(2)--基本规则包引用、类型转换和声明等_第1张图片

  • 每个go文件属于且仅属于一个包
  • 一个包由许多.go源文件组成
  • 必须在源文件非注释第一行指明包
  • 每个Go应用程序都包含一个main包
  • 所有包名都应该使用小写字母

 

标准库:

  1. 属于同一个包的源文件必须全部被一起编译【包围编译的单元】
  2. 对一个包进行更改或重新编译后,引用该包的程序需全部重新编译

依赖关系:A->B->C

编译顺序:C->B->A

编译A.go文件,编译器读取直接依赖文件

 

 

引用包【包含该包所有代码对象,若导入包没使用会报错】

- import “fmt”:

fmt包实现格式化I/O(输入输出操作),用引号来引用包名

 

 

- 引用多个包

方法一:

import “fmt”

 import  “os”

……

 

方法二:

import “fmt”;import “os”

 

方法三:i

import(

“fmt”

“os”

)

 

 

方法四:

import(“fmt”;“os”)

 

包搜索顺序:

  1. 如果包名不是.或/开头,go会在全局文件进行查找
  2. 如果包名./开头,在系统的聚堆路径下查找

 

 

规则:

    标识符:除_包中所有代码对象的标识符唯一【不同包可以使用相同标识符】

    可见性规则:

       当标识符(常、变量、类型、函数、结构字段)以大写字母开头,可以被外部包的代码所使用。【public】

       标识符如果以小写字母开头,对包外不可见,整个包内可见可用

 

 

函数:

  1. ()中写入0个或多个参数,参数名后紧跟参数类型
  2. 一个可执行程序,除init()函数外,先执行main函数
    1. main函数无参数也无返回类型
  3. {   必须与方法的声明在同一行
  4. 程序返回
    1. 0-正常返回
    2. 非零值-因为异常被终止

案例:fmt.println()

    print和println支持使用变量,字符,字符串或使用预定义方法来实现,默认打印格式将变量输出到控制台。

 

注释:不会被编译,可以通过godoc被使用

   //单行注释

 

类型:

   基本类型:

  1. int
  2. float
  3. bool
  4. string

结构化[使用nil作为默认值-等于java中的null]

  1. struct
  2. array
  3. slice
  4. map
  5. channel

描述类的行为

  1. interface

 

函数的返回类型说明:

多个返回值:

定义自己的类型:

   定义一个类型:

type IZ int

 

   定义多个类型:

type(

   I int;

   F float64;

   S string;

)


 

Go语言执行顺序:

1、导入main中引用包

2、导入其他引用包【每个包被导入一次】

3、初始化常量和变量,调用init函数

4、调用main函数

 

类型转换:

 
 a := 5.0【:= 类似C== auto a = 5.0】

b := int(a)
var a IZ = 5
c := int(a)
d := IZ(c)

Go语言学习比较(1)

你可能感兴趣的:(go,学习)