美文网首页
0X01 语言结构 基本语法和数据类型

0X01 语言结构 基本语法和数据类型

作者: silencefun | 来源:发表于2017-11-30 14:30 被阅读11次

    1.语言结构

    从 helloworld 分析:

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

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

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

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

    下一行 /.../ 是注释,在程序执行时将被忽略。单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾,且不可以嵌套使用,多行注释一般用于包的文档描述或注释成块的代码片段。

    下一行 fmt.Println(...) 可以将字符串输出到控制台,并在最后自动增加换行字符 \n。 使用 fmt.Print("hello, world\n") 可以得到相同的结果。
    Print 和 Println 这两个函数也支持使用变量,如:fmt.Println(arr)。如果没有特别指定,它们会以默认的打印格式将变量 arr 输出到控制台。

    当标识符(包括常量、变量、类型、函数名、结构字段等等)以一个大写字母开头,如:Group1,那么使用这种形式的标识符的对象就可以被外部包的代码所使用(客户端程序需要先导入这个包),这被称为导出(像面向对象语言中的 public);标识符如果以小写字母开头,则对包外是不可见的,但是他们在整个包的内部是可见并且可用的(像面向对象语言中的 protected )。

    2.执行 Go 程序的过程

    打开编辑器如Sublime,将以上代码添加到编辑器中。将以上代码保存为 hello.go,
    打开命令行,并进入程序文件保存的目录中。

    image.png

    输入命令 go run hello.go 并按回车执行代码。

    这段代码运行后输出helloworld


    image.png

    3.基本语法

    Go 标记

    Go 程序可以由多个标记组成,可以是关键字,标识符,常量,字符串,符号。如以下 GO 语句由 6 个标记组成(--区分):

    fmt.Println("Hello, World!")
    fmt  -- .  --  Println -- ( -- "Hello, World!"  -- )
    
    行分隔符

    在 Go 程序中,一行代表一个语句结束。每个语句不需要像 其它语言一样以分号 ; 结尾,因为这些工作都将由 Go 编译器自动完成。

    注释

    注释不会被编译,每一个包应该有相关注释。
    单行注释是最常见的注释形式,你可以在任何地方使用以 // 开头的单行注释。多行注释也叫块注释,均已以 /* 开头,并以 */ 结尾。如:

      // 单行注释
      /*
        Author by w3cschool菜鸟教程
        我是多行注释
      */
    
    标识符

    标识符用来命名变量、类型等程序实体。一个标识符实际上就是一个或是多个字母(AZ和az)数字(0~9)、下划线_组成的序列,但是第一个字符必须是字母或下划线而不能是数字。

    关键字
    image.png
    Go 语言的空格

    Go 语言中变量的声明必须使用空格隔开,如:

     var age int;
    

    语句中适当使用空格能让程序看易阅读。
    在变量与运算符间加入空格,程序看起来更加美观,如:

     fruit = apples + oranges; 
    

    4数据类型

    在 Go 编程语言中,数据类型用于声明函数和变量。

    数据类型的出现是为了把数据分成所需内存大小不同的数据,编程的时候需要用大数据的时候才需要申请大内存,就可以充分利用内存。
    Go 语言按类别有以下几种数据类型:

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

     var b bool = true。
    

    2 数字类型
    整型 int 和浮点型 float,Go 语言支持整型和浮点型数字,并且原生支持复数,其中位的运算采用补码。

    3 字符串类型:
    字符串就是一串固定长度的字符连接起来的字符序列。Go的字符串是由单个字节连接起来的。Go语言的字符串的字节使用UTF-8编码标识Unicode文本。

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

    相关文章

      网友评论

          本文标题:0X01 语言结构 基本语法和数据类型

          本文链接:https://www.haomeiwen.com/subject/zyxubxtx.html