所有字体里面显示字体类型都是英文怎么办(英文字体常见字体)
725
2022-05-29
这些年我学过各种编程语言,从最早的C语言到C++,再到C#、PHP、JAVA,再到IOS开发、Python,到最新的GO语言,学得是真的杂。有时候觉得编程语言恰恰是最简单的,而通过一门编程语言能够解决实际问题或深入底层才是其价值所在,并且当我们学好一门编程语言后(尤其C和C++),其他编程语言都非常类似,殊途同归,学起来也很迅速。
源码-:
https://github.com/eastmountyxz/Go-learning
前文参考:
[GO语言基础] 一.为什么我要学习Golang以及GO语言入门普及
[GO语言基础] 二.编译运行、语法规范、注释转义及API标准库知识普及
文章目录
一.Go语言执行流程和编译运行
1.回顾前文
2.执行流程
3.编译运行
二.语法要求及常见问题
1.语法注意事项
2.常见问题
三.Golang转义字符、注释及编程风格
1.转义字符
2.注释
3.编程风格
四.Golang编程指南
1.编程指南
2.官方API标准库
五.Dos常用指令
1.目录操作指令
2.文件操作指令
3.其它指令
六.Golang编程练习
1.题目
2.解答
七.总结
一.Go语言执行流程和编译运行
1.回顾前文
前面我们通过VSCode已经快速编写了第一个Go程序,具体步骤如下:
第一步,在Goproject文件夹中创建“src\go_code”目录,并创建第一个项目“project01”。
第二步,VSCode打开刚才创建的文件目录。
第三步,通过go_build命令对该go文件进行编译,生成.exe文件。
第四步,在DOS命令行下执行.exe文件,并查看运行效果。
第五步,通过go run命令可以直接运行test01.go程序。
其运行结果如下图所示:
核心代码如下:
package main //把test.go文件归属到main import "fmt" //引入包fmt func main() { //输出内容 fmt.Println("hello, My name is Eastmount!") }
代码解释:
Go程序的后缀是 .go
Go项目结构通常采用:GOPROJECT -> src -> go_code -> 项目名称
package main
:表示test01.go文件所在包是main,在go中,每个文件都必须归属于一个包
import “fmt”
:表示引入了一个包,包名为fmt,引入该包后就能使用其函数,比如fmt.Println
func main() {}
:这是一个关键字,后面对应是一个函数。main是主函数,即程序的入口
fmt.Println(“hello, My name is Eastmount!”)
:调用fmt包中函数输出内容
2.执行流程
如果是对源码编译后再执行,Go的执行流程如下图所示:
编译源代码:go build指令,生成可执行文件
运行可执行文件:输出程序的结果
如果是对源码直接执行,通过“go run”运行程序,Go的执行流程如下图所示:
go run将编译和运行一起执行
注意,在真实环境中是需要先编译后运行的。所以“go run”命令的运行时间更长,因为编译过程中隐藏在命令中,而上面的步骤是运行编译后的可执行文件。
“尚硅谷”韩顺平老师简单总结了两种执行流程的区别:
如果先编译生成了可执行文件,那么可以将该可执行文件拷贝到没有go开发环境的机器上,仍然可以运行;
如果我们直接运行“go run go源代码”,那么如果要在另外一个机器上运行,也需要go开发环境,否则无法执行;
在编译时,编译器会将程序运行依赖的库文件包含在可执行文件中,所以,可执行文件变大了很多,如下图所示。
3.编译运行
(1) 什么是编译呢?
编译(compilation , compile) 指利用编译程序从源语言编写的源程序产生目标程序的过程,Go程序的编译就是把高级语言(源码)变成计算机可以识别的二进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成二进制的。
当有了Go源文件后,通过编译器将其编译成机器可以识别的二进制文件,如下图所示,在该源文件目录下,通过“go build”对test01.go文件进行编译。
注意,“go build”编译可以指定生成的可执行文件名,但在Windows下必须是“.exe”后缀。下面简单演示下。
go build -o eastmount.exe test01.go
Goproject\src\go_code\project01\main
运行结果如下图所示:
eastmount.exe
hello, My name is Eastmount!
小技巧:在CMD中如何快速进入指定目录
打开源文件所在目录,在路径栏输入cmd+回车,即可快速进入CMD。
显示结果如下图所示:
另一种方法是在该目录下按住“Shift+鼠标右键”,点击“在此处打开PowerShell”即可。
(2) 错误提升
如果程序没有错误,没有任何提示,会在当前目录下出现一个可执行文件(Windows下是.exe文件,Linux下是一个可执行文件),该文件是二进制文件,也是可以执行的文件。如果程序有错误,编译时会在错误的那行提示,这有助于程序员调试代码。
(3) 什么是运行
运行有两种形式:
直接运行生成的可执行Go程序,比如test01.exe
通过运行工具go run对源代码文件进行运行
二.语法要求及常见问题
1.语法注意事项
Go源文件以“go”为扩展名
Go应用程序的执行入口是
main()函数
,这个和其他编程语言一样(如c、java)
Go语言严格区分大小写
Go方法由一条条语句构成,
每个语句后不需要分号
,Go语言会在每行后自动加分号,这也体现了Golang的简洁性,和Python一样
Go编译器是一行行进行编译的,因此我们一行写一条语句,不能把多条语句写在同一行,否则会报错
Go语言定义的变量或者import的包如果没有用到,代码不能编译通过
大括号都是成对出现的,缺一不可
2.常见问题
(1) 如何修改字体大小?
如果我们想在VSCode中修改Go程序字体大小,则需要在设置中修改代码选项。
性能->设置->字符大小。
(2) 系统找不到指定文件。
解决方法:源文件名不存在或错误,或者路径写错误。
(3) 每次编译和运行都需要在CMD中执行吗?
作为Go初学者,我建议大家先结合CMD来执行程序,这既能了解程序的基本执行流程;又能了解CMD的常用操作,如果你是想用GO做安全或后台,这些都是非常基础的命令。当然,随着这些列文章深入,后面会分享更好的集成开发工具,那些工具中可以直接执行程序,这也是为什么Python我首先推荐大家使用官网的IDLE。
(4) 编程语法错误。
作为初学者,在编程过程中最容易犯的错误就是语法错误,GO要求必须按照语法规则编写代码。如果你的程序违反了语法规则,如忘记大括号、引号、拼写错误、变量定义未使用等,Go编译器都会提示相应的语法错误,记住:
尝试看懂编译器报告的语法错误
学会独立去谷歌或百度错误,解决错误
这些独立解决问题的能力更为重要,无论以后做项目、工作或科研,都将终身受益
如下图所示,在第6行没有定义“fmt.Printin”,这就是一个语法错误,正确的应该是“fmt.Println”。
三.Golang转义字符、注释及编程风格
1.转义字符
Go语言常用的转义字符(escape char)如下:
\t:表示一个制表符,通常使用它来排版
\n:表示换行符
\:表示一个\
\":表示一个"
\r:表示一个回车,比如 fmt.Println(“Eastmount\rCSDN”)
具体实例如下所示,新建文件夹“chapter02”和“escaptechar”,接着新建“main.go”文件,并添加如下代码:
接着我们在CMD中去到指定目录,编译运行程序输出如下图所示效果:
cd chapter02\escaptechar
go run main.go
完整代码如下:
package main import "fmt" //引入包fmt 提供格式化、输出、输入函数 func main() { //转义字符 fmt.Println("Eastmount\tCSDN\tyangxiuzhang") fmt.Println("Hello\nWorld!!!") fmt.Println("C:\Users\xiuzhang\Desktop\data") fmt.Println("秀璋说\"我爱娜娜\"") //注意:回车会替换前面的内容 fmt.Println("秀璋爱娜娜\r珞珞") fmt.Println("\a") }
输出结果如下所示:
其他转义字符如下所示:
\a 响铃符 (相当于 \x07) \b 退格键(BS) (相当于 \x08) \f 换页符 (相当于 \x0C) \t 横向制表符 (相当于 \x09) \n 换行符 (相当于 \x0A) \r 回车符 (相当于 \x0D) \v 纵向制表符 (相当于 \x0B) 3 匹配 8 進制编码所代表的字符(必须是 3 位数字) \x7F 匹配 16 進制编码所代表的字符(必须是 3 位数字) \x{10FFFF} 匹配 16 進制编码所代表的字符(最大值 10FFFF ) \ 匹配字符 \ \" 匹配字符 "
2.注释
注释(Comment)用于解释程序的文字,注释提高了代码的阅读性。一个程序员一定要养成良好的编程习惯,注释就是将自己的思想整理出来,再用代码去实现。注释的好处及应用场景如下:
当你过段时间发现程序有问题或者调整功能时
当你去修改别人的代码或工作交接给别人时
当需要补充设计文档时
大型团队开发项目,各个成员相互合作通过注释和接口进行协调
即使是Go语言的源代码,也包括了丰富的注释,所以养成良好的注释习惯真的很重要,尤其是初学者。通常三行代码一行注释,根据个人习惯而定。
Go语言支持C语言风格的 /* */ 块注释,也支持C++风格的 // 行注释。行注释更通用,块注释主要用于针对包的详细说明、函数功能说明或屏蔽大块的代码。
Golang两种注释如下:
行注释
基本语法: // 注释内容
块注释
基本语法:
/*
注释内容
*/
注释的使用细节:
对于行注释和块注释,被注释的文字不会被Go编译器执行
块注释里不允许有块注释嵌套
VSCode选中代码 Ctrl+斜杠(/)会自动生成行注释,再按一次注销,IDEA通用
3.编程风格
(1) 正确的注释和注释风格
Go官方推荐使用行注释来注释方法和语句
多学习官方标准包注释
(2) 正确的缩进和空白
使用一次tab操作实现缩进,默认整体向右移动,恢复使用shift+tab向左移动
使用gofmt来进行格式化
运算符两边习惯个增加一个空格,比如:2 + 3 * 5
使用gofmt后自动对齐,如下图所示:
gofmt -w test02_02.go
(3) Go语言的代码风格
正确的代码风格:
package main import "fmt" //引入包fmt 提供格式化、输出、输入函数 func main() { //行注释:转义字符 fmt.Println("Eastmount\tCSDN\tyangxiuzhang") }
错误的代码风格:
Go语言设计者认为这会导致两种标准,他们的思想是一个问题尽量只有一个解决方法。Go规定如此,大家需要按规则编写代码。
package main import "fmt" //引入包fmt 提供格式化、输出、输入函数 func main() { //行注释:转义字符 fmt.Println("Eastmount\tCSDN\tyangxiuzhang") }
(4) 一行代码最长不超过80个字符,超过请使用换行展示,尽量保持格式优雅。
四.Golang编程指南
Golang 官方网站如下,记住官方文档和源码永远是最好的学习场所。
https://golang.org
当我们点击“Run”按钮即可运行程序,我们可以通过官网进行简单的代码学习。
点击“Tour”可进入编程指南,点击“packages”可查看官方标准包说明文档。
1.编程指南
点击“Tour”编程指南显示如下图所示:
https://tour.golang.org/welcome/1
下列代码输出结果如下:
package main import "fmt" func main() { fmt.Println("Hello, eastmount") fmt.Println("CSDN") var num = 1 + 2 fmt.Println("num=", num) }
那么,官方文档怎么使用呢?
我们点击“简体中文”,然后看到如下图所示的Go指南。
比如我们想了解“包”的基本概念,可以点击显示如下图所示,并且有对应的示例代码。
package main import ( "fmt" "math/rand" ) func main() { fmt.Println("My favorite number is", rand.Intn(10)) }
虽然这个手册对我们编程有帮助,但是其解释过于简单,对零基础的同学不太友好。但也建议大家去了解学习。
2.官方API标准库
Go语言是通过包(packages)的形式来管理它的函数的,点击“packages”可查看官方标准包说明文档。
比如我们想了解import "fmt"中对应的函数及功能。我们直接在网站中查询“fmt”,点击“index”显示如下图所示:
我们想查看函数Println原型和案例,显示如下图所示:
func Println(a …interface{}) (n int, err error)
package main import ( "fmt" ) func main() { const name, age = "Kim", 22 fmt.Println(name, "is", age, "years old.") // It is conventional not to worry about any // error returned by Println. }
输出结果为:
Go标准库API文档
API(Application Programming Interface,应用程序编程接口)是Golang 提供的基本编程接口;
Go提供了大量的标准库
Go中文网在线标准库文档:https://studygolang.com/pkgdoc
比如搜索“fmt”,解释为“fmt包实现了格式化I/O函数,类似于C的printf和scanf”。
Go的包和源文件及函数的关系简图如下所示:
调用函数:import 包名
使用函数:包名.函数名
Go安装src目录包含对应源码
五.Dos常用指令
DOS常用指令这里仅简单介绍,这是为了让大家更好地了解Windows基础操作,同时对Linux、MacOS和安全领域的命令操作也有帮助。当然,后续也会详细介绍在工具中编译运行GO程序的方法。
DOS:Disk Operating System,磁盘操作系统,即Windows目录结构
1.目录操作指令
常见命令如下:
dir:查看当前目录
cd 盘符:切换到其他盘符
cd …:切换到上一级目录
cd \:切换到根目录
md(make directory):新建目录
新建多个目录:md test01 test02
rd:删除目录
带询问删除目录及下面的子目录和文件:rd /s test02
2.文件操作指令
新建一个空文件:type nul>eastmount.txt
新建或追加内容到文件:echo hello > eastmount.txt
显示文件内容:type eastmount.txt
复制文件并重新文件名:copy eastmount.txt d:\yxz.txt
移动文件:move d:\yxz.txt c:\
删除指定文件:del d:\yxz.txt
删除指定目录中txt结尾所有文件:del *.txt
3.其它指令
清屏:cls
退出dos:exit
六.Golang编程练习
1.题目
(1) 编写程序输出自己的名字,熟悉GO语言
(2) 请使用一行代码输出如下内容
(3) 编写程序实现2和3的加减乘除运算并输出结果
(4) 编写程序获取当前时间分别输出年、月、日
(5) 编写程序计算1+2+…+100,并输出结果
(6) 编写程序输出如下图所示倒三角
2.解答
(1) 编写程序输出自己的名字,熟悉GO语言
package main import "fmt" func main() { fmt.Println("Hi, My name is Eastmount!") }
(2) 请使用一行代码输出如下内容
package main import "fmt" //引入包fmt 提供格式化、输出、输入函数 func main() { fmt.Println("姓名\t年龄\t籍贯\t行业\nyxz\t28\t贵州\t程序员") }
(3) 编写程序实现2和3的加减乘除运算并输出结果
package main import "fmt" //引入包fmt 提供格式化、输出、输入函数 func main() { var a = 2 var b = 3 fmt.Println("a + b = ", a + b) fmt.Println("a - b = ", a - b) fmt.Println("a * b = ", a * b) fmt.Println("a / b = ", a / b) }
(4) 编写程序获取当前时间分别输出年、月、日
package main import ( "fmt" "time" ) func main() { //获取当前日期 today := time.Now() fmt.Println("当前日期为:", today) //分别获取年月日 year := today.Year() month := today.Month() day := today.Day() fmt.Println("年:", year) fmt.Println("月:", month) fmt.Println("日:", day) fmt.Printf("%d-%02d-%02d", year, month, day) }
补充知识:= 是赋值, := 是声明变量并赋值
// = 使用必须使用先var声明 var a a=100 var b = 100 var c int = 100 // := 是声明并赋值,并且系统自动推断类型,不需要var关键字 d := 100
(5) 编写程序计算1+2+…+100,并输出结果
package main import "fmt" func main() { var result = 0 for i := 0; i <= 100; i++ { result += i } fmt.Println("1+2+...+100=", result) }
(6) 编写程序输出如下图所示倒三角
package main import "fmt" func main() { var len = 5 for i := 0; i < len; i++ { for j := len - i; j > 0; j-- { fmt.Print("*") } fmt.Print("\n") } }
七.总结
写到这里,这篇基础性Golang文章介绍完毕,希望您喜欢!
一.Go语言执行流程和编译运行
1.回顾前文
2.执行流程
3.编译运行
二.语法要求及常见问题
1.语法注意事项
2.常见问题
三.Golang转义字符、注释及编程风格
1.转义字符
2.注释
3.编程风格
四.Golang编程指南
1.编程指南
2.官方API标准库
五.Dos常用指令
1.目录操作指令
2.文件操作指令
3.其它指令
六.Golang编程练习
1.题目
2.解答
编程习惯和Go基本概念了解后,后面的文章将详细介绍Go语言的基础语法知识,并结合案例进行普及。希望这篇基础性文章对您有帮助,写得不好的地方还请海涵。同时非常感谢参考文献中的大佬们的文章分享,深知自己很菜,得努力前行。也希望自己能深入下去,未来四年好好研究Go编程语言,做更多实际工程,写更好的文章,共勉!
原文地址:
https://blog.csdn.net/Eastmount/article/details/113151363
源代码-:
https://github.com/eastmountyxz/Go-learning
(By:娜璋AI之家 Eastmount 2021-06-16 星期三 夜于武汉 https://blog.csdn.net/Eastmount)
参考文献:
Go官网:https://golang.org/
韩老师视频:https://www.bilibili.com/video/BV1pt41127FZ
https://www.runoob.com/go/go-tutorial.html
Go中文网在线标准库文档:https://studygolang.com/pkgdoc
API Go HTTP
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。