Golang语言学习

aside section._1OhGeD · · 853 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

main函数类似是一个入口

  1. package是最基本的分发单位和工程管理中依赖关系的体现
  2. 每个Go语言源代码文件开头都拥有一个package声明,表示源代码文件所属代码包
  3. 要生成Go语言可执行程序,必须要有mainpackage包,且必须在该包下有main()函数
  4. 同一个路径下只能存在一个package,一个package可以拆分成多个源文件组成

Go工程中共有三个文件夹,分别是:srcpkgbin
src:存放Go源码文件
pkg:存放编译后的包文件
bin:存放编译后的可执行文件src目录需要手动创建,一般pkgbin目录不需要创建,编译时会自动创建。
由于当前章节视频中没有真正的执行install,所以代码直接放在工程目录下build暂时还没有报错。如果执行install的话就会报错了。

Go语言基础语言--import

  • import语句可以导入源代码文件所依赖的package包;

  • 不得导入源代码文件中没有用到的package,否则Go语言编译会报编译错误

主要有两种格式

第一种:

  import "package1"
  import "package2"
  import "package3"

第二种:

import  (
                "package1"
                "package2"
                "package3"
)

Go语言基础语法---import原理

  • 如果一个main导入其他包,包将被顺序导入
  • 如果导入的包中依赖其它包(package B),会首先导入B包,然后初始化B包中常量和变量,最后如果B包中有init,会自动执行init()
  • 所有包导入完成后才会对main中常量和变量进行初始化,然后执行main中的init函数(如果存在),最后执行main函数
  • 如果一个包被导入多次则该包只会被导入一次
gopackage.png

Go语言 基础语法---import别名," . "," _ "

  • 别名操作的含义:将导入的包命名为另一个容易记忆的别名

    package main
    import (
    imooc "fmt"  //package 别名命名方法
    )
    func main(){
        imooc.Print("Hello World!")
    }
    
  • .操作的含义是:点.标识的包导入后,调用该包中函数时可以省略前缀包名 ---不建议用,容易混淆

    package main
    import(
           . "fmt" //点`.`
    )
    func main(){
        Print(a:"hello imooc") //调用该包中函数时可以省略前缀包名fmt
    }
    
  • 下划线_操作的含义是:导入该包,但不导入整个包,而是执行该包中的init函数,因此无法通过包名来调用包中的其他函数.使用下划线_操作往往是为了注册包里的引擎,让外部可以方便地使用,

GO语言--数据类型

  • 数据类型,字符串类型和布尔型
  • 派生类型
  • 类型零值和类型别名
  • 类型所占存储大小

一个字节是8位

  1. 整型,浮点型,复数,字符串和布尔型
  • 数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存

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

  • 字符串类型string,编码统一为UTF-8

  1. 派生类型
  • 指针类型(Pointer)
  • 数组类型
  • 结构化类型(struct)
  • Channel类型(chan)
  • 函数类型(func)
  • 切片类型(slice)
  • 接口类型(interface)
  • May类型(map)
  1. 类型零值和类型别名
  • 类型零值不是空值,而是某个变量被声明后的默认值,一般情况下,值类型的默认值为0,布尔型默认值为false,string默认值为空字符串
  • 可以对类型设置别名
package main
type imooc int32
funct main(){
    var i imooc //imooc就是int32的别名
}
Golangbyte.png

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:aside section._1OhGeD

查看原文:Golang语言学习

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

853 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传