zoukankan      html  css  js  c++  java
  • go语言入门(1)

    1,Go语言的核心开发团队-三个大牛

    Ken Thompson(肯·汤普森):1983年图灵奖(Turing Award)和1998年美国国家技术奖(National Medal of Technology)得主。他与Dennis Ritchie是Unix的原创者。Thompson也发明了后来衍生出C语言的B程序语言,同时也是C语言的主要发明人。

    Rob Pike(罗布·派克):曾是贝尔实验室(Bell Labs)的Unix团队,和Plan9操作系统计划的成员。他与Thompson共事多年,并共创出广泛使用的UTF-8字元编码。

    Robert Griesemer:曾协助制作Java的HotSpot编译器,和Chrome浏览器的JavaScript引擎V8。

    2,Go语言特点或优势

    1)可直接编译成机器码,不依赖其他库,glibc的版本有一定要求,部署就是扔一个文件上去就完成了;

    2)Go 语言是既能到达静态编译语言的安全和性能,又达到了动态语言开发维护的高效率,静态类型的语言就是可以在编译的时候检查出来隐藏的大多数问题,动态语言的感觉就是有很多的包可以使用,写起来的效率很高;

    3)天然并发(重要特点);

    (1)从语言层面支持并发,实现简单
    (2)goroutine,轻量级线程,可实现大并发处理,高效利用多核。
    (3)基于CPS并发模型(Communicating Sequential Processes)实现

    4)内置runtime,支持垃圾回收

    5)从C语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等等,也保留了和C语言一样的编译执行方式及弱化的指针,并且内嵌C支持,Go里面也可以直接包含C代码,利用现有的丰富的C库;

      //go 语言的指针的使用特点(体验)
      func testPtr(num*int){
        *num=20
      }

    6)引入包的概念,用于组织程序结构,Go 语言的每一个文件都要归属于一个包,而不能单独存在

    7)新的创新:比如切片slice、延时执行defer。

    3,安装开发环境

    SDK 下载地址:Golang 中国 https://www.golangtc.com/download

    其中bin目录下就是go的指令,src目录下就是源代码

     使用go.exe可以编译和运行我们的go源码

    添加环境变量

    测试

     4,hello world测试

    1)开发时,先建立相对规范的目录结构

     2)编写代码(这里使用的编辑工具是VSCoce,https://code.visualstudio.com/download)

    (1)go文件的后缀是.go
    (2)package main表示该hello.go文件所在的包是main,在go中,每个文件都必须归属于一个包。
    (3)import“fmt”
      表示:引入一个包,包名fmt,引入该包后,就可以使用fmt包的函数,比如:fmt.Println
    (4)func main(){
      }

      func是一个关键字,表示一个函数。
      main是函数名,是一个主函数,即我们程序的入口。
    (5)fmt.Println(“hello, world”)
      表示调用fmt包的函数Println输出“hello,world”

     3)通过go build命令对该go文件进行编译,生成.exe文件

    4)运行hello.exe文件即可

    5)注意:通过go run命令可以直接运行hello.go程序[类似执行一个脚本文件的形式]

    Go语言中包含了大量用于处理Go语言代码的命令和工具。其中,go命令就是最常用的一个,它有许多子命令。这些子命令都拥有不同的功能,如下所示。
        build:用于编译给定的代码包或Go语言源码文件及其依赖包。
        clean:用于清除执行其他go命令后遗留的目录和文件。
        doc:用于执行godoc命令以打印指定代码包。
        env:用于打印Go语言环境信息。
        fix:用于执行go tool fix命令以修正给定代码包的源码文件中包含的过时语法和代码调用。
        fmt:用于执行gofmt命令以格式化给定代码包中的源码文件。
        get:用于下载和安装给定代码包及其依赖包(提前安装git或hg)。
        list:用于显示给定代码包的信息。
        run:用于编译并运行给定的命令源码文件。
        install:编译包文件并编译整个程序。
        test:用于测试给定的代码包。
        tool:用于运行Go语言的特殊工具。
        version:用于显示当前安装的Go语言的版本信息。

    5,Golang执行流程分析

     有了go源文件,通过编译器将其编译成机器可以识别的二进制码可执行文件,即可以直接运行的文件。

    6,go程序开发注意事项

    1)Go源文件以"go”为扩展名。

    2)Go 应用程序的执行入口是main()函数。

    3)Go 语言严格区分大小写。

    4)Go方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号),这也体现出Golang的简洁性。

    5)Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错

    6)go语言定义的变量或者import的包如果没有使用到,代码不能编译通过。

    7,go语言的转义字符(escape char)

    1)t:表示一个制表符,通常使用它可以排版。
    2)n:换行符
    3):一个
    4":一个"
    5)r:一个回车

    8,注释和代码规范

    1)行注释

    //注释内容

    2)块注释(多行注释)

    /*
    注释内容
    */

    对于代码的规范,可以看源码,或者用gofmt命令 来进行格式化

    gofmt hello.go

    9,API查询和论坛

    https://go-zh.org/

    https://studygolang.com/pkgdoc

    https://studygolang.com/

    韩顺平go语言教程笔记

  • 相关阅读:
    Redis数据库
    python的web运用
    python对 if __name__=='__main__'的理解
    python的函数
    python的四种内置数据结构
    python的循环和选择
    关于oracle设置主键自增的问题
    用HttpClient和用HttpURLConnection做爬虫发现爬取的代码少了的问题
    ORACLE not available如何解决
    集合(下)
  • 原文地址:https://www.cnblogs.com/xdyixia/p/11847424.html
Copyright © 2011-2022 走看看