zoukankan      html  css  js  c++  java
  • 二、Golang的概述

    2.1 什么是程序?

    程序:及时完成某个功能的指令的集合。

    2.2 Go语言的特点

    简介

    ​ Go语言保证了既能到达静态变异语言的安全和性能,又达到了动态语言开发维护的高效率,使用一个表达式来形容Go语言: Go= C + Python 说明Go语言既有C 静态语言程序的运行速度,又能达到Python动态语言的快速开发。

    • 从C语言中继承了很多理念,包括表达式语法,控制结构,基础数据类型,调用参数传值,指针等,也保留了C语言一样的编译执行方式及弱化的指针

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

    • 垃圾回收机制,内存自动回收,不需要开发人员管理

    • 天然并发

      • 从语言层面支持并发,实现简单
      • goroutine 轻量级线程,可实现大并发处理,高效利用多核
      • 基于CPS并发模型实现
    • 吸收管道通信机制,形成Go语言特有的管道channel通过管道channel,可以实现不同的goroute之间的相互通信

    • 函数可以返回多个值

    • 新的创新 切片 延时

    2.3 Go语言快速开发入门

    2.3.1需求

    要求开发一个hello.go程序,可以输出"hello,world!"

    2.3.2 开发的步骤

    1. 开发这个程序时,我们的目录结构怎么处理

    捕获.PNG

    1. 代码 如下:

    1.PNG

    对上图的说明:

    (1) go文件的后缀是 .go

    (2) 代码说明

    (3) package main

    ​ 表示该 hello.go文件所在的包是main 在go中,每个文件都必须归属于一个包。

    (4) import "fmt"

    ​ 表示:引入一个包,包名 fmt 引入该包后,就可以使用fmt包的函数,比如:fmt。PrintIn

    (5) func main(){

    }

    fmt 是一个关键字,表示一个函数

    main是函数名,是一个主函数,即我们程序的入口

    (6) fmt.Print("Hello,world!")

    ​ 表示:调用fmt包的函数 PrintIn输出 "Hello,world!"

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

    1.PNG

    4)运行 hello.exe 文件即可

    1.PNG

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

    1.PNG

    2.3.3 Golang执行流程分析

    • 如果是对源码编译后,再执行,Go的执行流程如下图:

    1.PNG

    • 如果我们是对源码直接执行 go run 源码,Go的执行流程如下图:

    2.PNG

    说明:两种执行流程的方式区别

    • 如果我们先编译生成了可执行文件,那么我们可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行
    • 如果我们是直接 go run go源代码,那么如果要在另外一个机器上这么运行,也需要开发环境,否则无法执行。
    • 在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多。
    什么是编译?
    • 有了go源文件,通过编译器将其编译成机器可以识别的二进制码文件

    • 在该源文件目录下,通过go build 对 hello.go 文件进行编译,可以指定生成的可执行文件名,在windows下必须是 .exe 后缀

      1.PNG

    • 如果程序没有错误,没有任何提示,会在当前目录下会出现一个可执行文件(windows下是 .exe Linux下是一个可执行文件),该文件是二进制码文件,也是可以执行的程序

    • 如果程序有错误,编译时,会在错误的那行报错

    1.PNG

    什么是运行?
    • 直接运行生成的可执行Go程序,比如hello.exe
    • 通过运行工具 go run 对可执行文件进行执行

    2.3.4 Go程序开发注意事项

    • Go源文件以 go 为扩展名
    • Go应用程序的执行入口是 main() 方法
    • Go语言严格区分大小写
    • Go 方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号),也体现出Golang的简洁性
    • Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在 同一个,否则报错
    • go语言定义的变量或者import的包,如果没有使用到,代码不能编译通过
    • 大括号都是成对出现的,缺一不可

    2.4 Go语言转义字符

    Golang常用的转义字符

    • 一个制表位,实现对齐的功能
    • 换行符
    • 一个
    • " 一个 "
    • 一个回车 fmt.Println("天龙八部雪山飞狐 张飞")

    2.5 Golang开发常见问题和解决方法

    • 找不到文件

    1.PNG

    ​ 解决办法: 源文件名不存在或者写错,或者当前路径错误

    • 小结和提示
      • 学习编程最容易犯的错误是语法错误,Go要求你 必须按照语法规则编写代码。如果你的程序违反了语法规则,例如:忘记了大括号,引号,或者拼错了单词,Go编辑器都会报语法错误,尝试着去看懂编译器,会报告的错误信息

    2.6 注释

    2.6.1 介绍注释

    ​ 用于注释说明解释程序的文字就是注释,注释提高了代码的阅读性

    2.6.2 Go 语言中的注释类型有两种

    Go支持C语言风格的/**/块注释,也支持C++风格的//行注释,行注释更通用,块注释主要用于针对包的详细说明或者屏蔽大块的代码

    • 行注释

      基本格式

      格式://注释文字

      应用实例

    • 块注释(多行注释)

      基本格式

      格式:/* 注释文字 */

      应用实例

    使用细节

    • 对于行注释和块注释,被注释的文字,不会被Go编译器解释执行
    • 块注释里不允许有块注释嵌套

    2.7 规范的代码风格

    正确的注释和注释风格:

    • Go官方推荐使用行注释来注释整个方法和语句
    • 带看Go源码

    正确的缩进和空白:

    • 使用一次tab操作,实现缩进,默认整体向右边移动时候使用shift+tab整体向左移
    • 或者使用gofmt来进行格式化
    • 运算符两边习惯性 各加一个空格

    2.8 Golang官方编程指南

    https://tour.go-zh.org/welcome/1

    https://golang.org/doc/

    2.9 Golang 标准库API文档

    2.10 DOS的常用命令

    2.10.1 Dos的基本介绍

    Dos:磁盘操作系统,简单说一下 windows的目录结构

    dos目录操作指令

    • 查看当前目录是什么
      • dir
    • 切换到其他盘下:盘符号
      • cd /d f:
    • 切换到当前盘的其他目录下(使用相对路径和绝对路径)
      • cd d: est1
      • cd d: est1111
    • 切换到上一级
      • cd ..
    • 切换到根目录
      • cd

    2.10.2目录操作

    新建一个目录

    ​ md 100

    新建多个目录

    ​ md 200 300

    删除空目录

    ​ rd 200

    删除目录以及下面的子目录和文件,不带询问

    ​ rd /q/s 200 q:不用询问 s:删除包括这个目录和其下面的目录

    删除目录以及下面的子目录和文件,带询问

    ​ rd /s 200

    2.10.3文件操作

    新建或追加内容到文件

    ​ echo 111 > d:100 est1.txt

    复制文件

    ​ copy 1.txt d:100

    ​ copy 1.txt d:1002.txt

    移动文件

    ​ move 2.txt d:100

    删除指定文件

    ​ del 2.txt

    删除所有文件

    ​ del *.txt

    清屏

    ​ cls

    退出dos

    ​ exit

  • 相关阅读:
    627. Swap Salary
    176. Second Highest Salary
    596. Classes More Than 5 Students
    183. Customers Who Never Order
    181. Employees Earning More Than Their Managers
    182. Duplicate Emails
    175. Combine Two Tables
    620. Not Boring Movies
    595. Big Countries
    HDU 6034 Balala Power! (贪心+坑题)
  • 原文地址:https://www.cnblogs.com/jiaxiaozia/p/13029376.html
Copyright © 2011-2022 走看看