go语言基础

开发环境

1. go安装包

1
https://golang.google.cn/dl/

2.go的开发IDE

1
2
3
4
5
6
7
8
https://www.jetbrains.com
直接下一步,它会自动将go的环境添加到全局环境
注意:
    goland创建项目,选择go 的安装路径(默认是自动选中)
    gopath: 所有的代码必须放在这个路径下的src文件夹下,否则无法执行,默认创建到用户目
    录下的go文件夹,所有的系统都是一样的
    取消掉 index entire gopath,否则默认将路径加到全局环境
    路径和文件都不要出现中文

Go语言简介

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

go语言特点

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

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

3. 垃圾回收机制,内存自动回收,不需开发人员管理。

4. 天然并发(重要特点)

  • 从语言层面支持并发,实现简单;
  • goroutine,轻量级线程,**可实现大并发处理**,高效利用多核优势;
  • 基于CPS并发模型(Communicating Sequential Processes)实现;
  • 吸收了管道通信机制,形成Go语言特有的管道channel;
  • 通过管道channel,可以实现不同的gorute之间的相互通信
  • 函数返回多个值

新的创新:比如切片、延时执行defer

go的常用命令

go version
go env # go的环境变量
    set GO111MODULE= 空的,现在没有使用model模式
    set GOPATH=C:\Users\小子\go 代码存放的路径
    set GOROOT=E:\go go sdk安装的路径
//------------------------------------------------
go build # 编译型语言,需要先编译在执行,编译成可执行文件,执行可执行文件
go run #编译并执行,开发阶段用,两步并做一步
go get # 下载并安装依赖,相当于pip和npm
go fmt # 自动格式化代码

hello,world!

Go 语言的基础组成有以下几个部分:

- 包声明

- 引入包

- 函数

- 变量

- 语句 & 表达式

- 注释

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# 1 写出go函数
package main // 声明包名, 包名是main 每一个文件都属于某一个包
 
import "fmt"  // 导入包,内置包,fmt包中提供格式化,输出,输入的函数
 
func main() { // 定义一个main函数
    fmt.Println("hello,world!!") // 打印函数==print()
}
// 单行注释
 
/*
多行注释
 */
# 2. 在控制台执行 go build
     e:\go_project\src\go_code\project01\main>go build hello.go
补充:
go build -o myhello.exe hello.go 可以自定义命名生成的exe文件名称,默认为go文件名称
 
# 3. 在控制台执行编译的go.exe
     e:\go_project\src\go_code\project01\main>hello.exe
    hello,world!!
     
# 或者 go run s1.go 编译并执行
 
go 的注释
// 单行注释
 
/*
多行注释
 */

goland版本:直接右键执行

入口

* go 所有的编译型语言运行都要有一个入口

* go的入口是main包下的main()函数

* main包下不可以有多个main函数

* 当你创建多个go文件可以写main函数,因为设置的是以file执行,不是以项目来执行

Go开发注意事项:

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

Go语言的转义字符(escape char)

常用转义字符说明:

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

1.找不到文件

 Go语言注释

1
2
3
4
5
6
注释说明:
// 单行注释
 
/*
多行注释
 */

Go规范的代码风格

1
2
3
4
// 注解:
gofmt go文件   把格式化后的内容打印出来,源文件内容不变
gofmt -w go文件   直接将源文件内容格式化好,不会打印
go fmt go文件 将源文件内容格式化好,需要格式化的,会打印文件名,不需要格式化的,就啥打印也没有

 举例说明:

go标准库API文档

1
2
3
4
//go文档(需要FQ)
https://golang.org/
//go中文库文档
https://studygolang.com/pkgdoc

Dos常用命令

Dos(Disk Operating System)磁盘操作系统

目录操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
// 查看当前目录下的文件
dir
 
// 切换盘符,例如从C盘与D盘之间切换
方法1:
C:\Users\v_jiangchun>d:
D:\>C:
C:\Users\v_jiangchun>
方法2:
C:\Users\v_jiangchun>cd /d d:
D:\>cd /d c:
C:\Users\v_jiangchun>
 
// 切换到当前盘的其他目录
相对路径:
E:\>cd go_project
绝对路径:
E:\go_project>cd e:\go_project\src\go_code
e:\go_project\src\go_code>
 
// 切换到其他盘的其他目录
d:\go>cd /d e:\go_project
e:\go_project>
 
// 切换到上级目录
e:\go_project>cd ..
e:\>
 
// 切换到根目录
e:\go_project>cd /
e:\>
 
// 新建目录 md
新建一个目录:
e:\go_project>md testdir
 
新建多个目录:
e:\go_project>md testdir1 testdir2
 
// 删除目录
删除空目录:
e:\go_project>rd testdir
 
删除目录以及下面的子目录和文件,不带询问
e:\go_project>rd /q/s testdir1
删除目录以及下面的子目录和文件,带询问
e:\go_project>rd /s testdir2

 文件操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// 新建或追加内容到文件
d:\test200>echo hello > d:\abc100\abc.txt
 
// 复制或移动文件
复制并重命名:
d:\abc100>copy abc.txt d:\test200\ok.txt
移动文件:(写目录是用文件原有的名字,移动时重命名是移过去重新写了名字)
d:\test200>move ok.txt f:\
 
// 删除文件
删除指定文件
d:\abc100>del abc.txt
删除一类文件的所有文件
d:\test200>del *.txt

 其他操作

1
2
3
4
// 清屏
cls
// 退出dos
exit

 

posted @   耗油炒白菜  阅读(101)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示