go学习之go的语法知识

文章目录

    • 1.go语言开发注意事项
    • 2.golang常用的转义字符(escape char)
    • 3.golang开发常用的问题
        • 小结与提示:
    • 4.go语言注释类型
      • (1).注释类型
        • 1)行注释
        • 2)块注释(多行注释)
      • (2)使用细节:
        • 1).对于行注释和块注释,被注释的文字,不会被go编辑器执行
        • 2)块注释里面不允许有块注释嵌套
      • (3).规范的代码风格
    • 5.Dos的常用命令(针对windows系统)
    • 6.本章知识回顾

1.go语言开发注意事项

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

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

package main //引入main包
func main(){ //调用main函数}

3)go语言严格区分大小写

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

fmt.Println("hello world")  //后面不需要加上分号

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

package main  //把这个test.go归属到main
import "fmt"  //引入一个包 
func main() {//输出hellofmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")fmt.Println("hello world")//下面是错的fmt.Println("hello world") fmt.Println("hello world") }

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

7)大括号都是成对出现的,缺一不可

2.golang常用的转义字符(escape char)

1) \t  一个制表位,实现对齐的功能
2) \n  换行符
3) \\ 一个\
3) \" 一个"
5) \r 一个回车 fmt.println("天龙八部雪山飞龙\r张飞")
package mainimport "fmt" //fmt包主要提供格式化和输入的函数
func main() {//演示转义字符的使用fmt.Println("tom\tjack")fmt.Println("D:\\myfile\\GO\\project\\src\\go_code\\escapechar")fmt.Println("tom说\"i love you\"")//\r表示回车,从当前行的最前面开始输出,覆盖掉以前的内容fmt.Println("天龙八部雪上飞狼\r张飞")
}//输出的结果
D:\myfile\GO\project\src\go_code\escapechar>go run main.go
tom     jack
D:\myfile\GO\project\src\go_code\escapechar
tom说"i love you"
张飞八部雪上飞狼练习:
fmt.Println("姓名\t年龄\t籍贯\t住址\njohn\t12\t河北\t北京")
//结果如下:
姓名    年龄    籍贯    住址
john    12      河北    北京

3.golang开发常用的问题

在这里插入图片描述

小结与提示:

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

4.go语言注释类型

(1).注释类型

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

1)行注释

package mainimport "fmt" //fmt包主要提供格式化和输入的函数
func main() {//fmt.Println("hello world")//fmt.Println("i love you")//fmt.Println("i hate you")fmt.Println("姓名\t年龄\t籍贯\t住址\njohn\t12\t河北\t北京")
}

2)块注释(多行注释)

package mainimport "fmt" //fmt包主要提供格式化和输入的函数
func main() {//格式/*注释内容*//*fmt.Println("hello world")fmt.Println("i love you")fmt.Println("i hate you")*/fmt.Println("姓名\t年龄\t籍贯\t住址\njohn\t12\t河北\t北京")
}

(2)使用细节:

1).对于行注释和块注释,被注释的文字,不会被go编辑器执行

2)块注释里面不允许有块注释嵌套

(3).规范的代码风格

1)Go官方推荐使用行注释来注释整个方法语句。

2)要有正确的缩进和空白对程序编写代码

在dos下将go语言的代码显示出来

在这里插入图片描述

运算符的两边习惯性各加一个空格。比如: 2 + 4 * 5.

var num = 2 + 4 * 5

go语言的代码风格

{ 不可以单独占一行

ackage mainimport "fmt" //fmt包主要提供格式化和输入的函数
func main() {/*fmt.Println("hello world")fmt.Println("i love you")fmt.Println("i hate you")*/fmt.Println("姓名\t年龄\t籍贯\t住址\njohn\t12\t河北\t北京")var num = 2 + 4 * 5fmt.Println(num)
}ackage main以下这种方式是错误的
import "fmt" //fmt包主要提供格式化和输入的函数
func main() 
{//不可以单独占据一行/*fmt.Println("hello world")fmt.Println("i love you")fmt.Println("i hate you")*/fmt.Println("姓名\t年龄\t籍贯\t住址\njohn\t12\t河北\t北京")var num = 2 + 4 * 5fmt.Println(num)
}

一行不能超过80个字符

golang官网网站 http://golang.org#

熟练使用官网熟练其api的使用

中文网:http://studygolang.com

golang的包和源文件和函数的关系简图

在这里插入图片描述

要想学好go就多看官网并学习这个API

5.Dos的常用命令(针对windows系统)

目录的操作
md test //创建test目录
md test01 test02 //一下子创建两个目录
dir     //查看当前目录
cd /d f:  //切换到f盘 切换到某个盘符
cd  d:\test //切换到d盘的test100目录  ---绝对路径
cd test //切换到在当前目录的test目录   ---相对路径
cd ..  //切换到上一级目录
cd \  //切换到根目录
rd test01 //删除一个空目录
rd /q/s test01 //删除非空目录,将这个目录下的所有文件都删除 /q表示不用询问
rd /s test01 //以询问的方式删除这个目录文件的操作
echo hello > abc.txt 将hello追加到一个新的abc.txt文件当中
copy abc.txt d:\test\test03 将abc.txt文件复制到test03目录下面
copy abc.txt d:\test\test03\sd.txt  //复制文件后再重新命名
move abc.txt d:\test\test02  //移动abc.txt文件
del abc.txt //删除一个文件
del *.txt //将所有txt类型的文件
其他指令
cls   //清屏
exit //退出终端

练习:

1)独立编写hello golang的程序

package mainimport "fmt" //fmt包主要提供格式化和输入的函数
func main() {fmt.Println("hello golang")
}

2)将个人基本信息(姓名,性别,籍贯,住址)打印倒终端上进行输出,每个信息各站一行

package mainimport "fmt" //fmt包主要提供格式化和输入的函数
func main() {fmt.Println("hello golang")//fmt.Println("")fmt.Println("刘承传\n男\n中国\n五指峰")
}

6.本章知识回顾

go语言的SDK是什么?

SDK就是啊软件开发工具包,我们做go开发,首先需要安装并配置好‘go

Golang的环境变量配置及其作用

GROOT:指定go sdk的安装目录。

Path:指令 sdk:bin目录 go.exe godoc.exe gofmt.exe

GOPATH 就是go项目的工作目录,所有项目的源码都放在这个目录下面

golang程序的编写、编译、运行的步骤是什么

编写:就是写代码

编译:go build 源码 =》生成一个二进制可执行文件

运行 : 1.对可执行文件运行 2.go run 源码

?**

SDK就是啊软件开发工具包,我们做go开发,首先需要安装并配置好‘go

Golang的环境变量配置及其作用

GROOT:指定go sdk的安装目录。

Path:指令 sdk:bin目录 go.exe godoc.exe gofmt.exe

GOPATH 就是go项目的工作目录,所有项目的源码都放在这个目录下面

golang程序的编写、编译、运行的步骤是什么

编写:就是写代码

编译:go build 源码 =》生成一个二进制可执行文件

运行 : 1.对可执行文件运行 2.go run 源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/82240.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023国赛数学建模思路 - 案例:退火算法

文章目录 1 退火算法原理1.1 物理背景1.2 背后的数学模型 2 退火算法实现2.1 算法流程2.2算法实现 建模资料 ## 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 退火算法原理 1.1 物理背景 在热力学上&a…

Qt跨平台无边框窗口探索记录

一、前言 实现的效果为:通过黑色矩形框预操作,鼠标释放时更新窗口。效果图如下: 1.功能 1.1 已实现功能 8个方向的缩放标题栏拖动标题栏双击最大化/正常窗口窗口最小尺寸预操作框颜色与背景色互补多屏幕默认标题栏 1.2 待开发功能 拖动到…

(学习笔记-调度算法)内存页面置换算法

在了解内存页面置换算法前,我们得先了解 缺页异常(缺页中断)。 当 CPU 访问的页面不在物理内存中时,便会产生一个缺页中断,请求操作系统将缺页调入到物理内存。那它与一般的中断主要区别在于: 缺页中断在指令执行 [期…

vue项目引入svg组件全过程

文件格式 svg下方对应 .svg index.vue svg-icon 组件 <template><svg:viewBox"viewBox"xmlns"http://www.w3.org/2000/svg"xmlns:xlink"http://www.w3.org/1999/xlink"ref"svg"class"svg-icon":class"class…

Mysql 设置表字段自动赋值创建时间,以及自动更新某一个字段的更新时间

使用场景 一般表设计中记录都有创建时间以及更新时间&#xff0c;而 Mysql 也支持了这种通用的设计需求。 即&#xff1a;可以通过默认值来给时间字段自动赋值&#xff0c;在创建时的默认值就是当前时间也就是记录的创建时间。 记录更新&#xff1a;即某一记录更新时我们要更…

OceanMind海睿思签约常州市建筑科学研究院,打造检验检测行业数字化转型标杆

近日&#xff0c;中新赛克海睿思 与 中国知名综合性建筑研究和科技创新型高科技企业——常州市建筑科学研究院集团股份有限公司&#xff08;以下简称“建科股份”&#xff09;达成深度战略合作&#xff0c;为建科股份提供行业领先的数据工程建设服务&#xff0c;携手推进检验检…

对于pycharm 运行的时候不在cmd中运行,而是在python控制台运行的情况,如何处理?

对于pycharm 运行的时候不在cmd中运行&#xff0c;而是在python控制台运行的情况&#xff0c;如何处理&#xff1f; 比如&#xff0c;你在运行你的代码的时候 它总在python控制台运行&#xff0c;十分难受 解决方法 在pycharm中设置下即可&#xff0c;很简单 选择运行点击…

opencv 车牌号的定位和识别+UI界面识别系统

目录 一、实现和完整UI视频效果展示 主界面&#xff1a; 识别结果界面&#xff1a;&#xff08;识别车牌颜色和车牌号&#xff09; 查看历史记录界面&#xff1a; 二、原理介绍&#xff1a; 车牌检测->图像灰度化->Canny边缘检测->膨胀与腐蚀 边缘检测及预处理…

Mac常见恶意软件再现,办公应用程序潜藏风险如何防范?

Mac电脑正受到臭名昭著的XLoader恶意软件的新变种的攻击&#xff0c;该恶意软件已被重写为在最好的MacBook上本地运行。 虽然XLoader至少从2015年开始出现&#xff0c;但在2021年发现macOS变体之前&#xff0c;它主要用于针对Windows PC。然而&#xff0c;该版本是作为Java程序…

stm32 之20.HC-06蓝牙模块

原理图显示使用usart3串口使用的是PB10和PB11引脚 直接配置usart3串口协议 void usart3_init(uint32_t baud) {GPIO_InitTypeDef GPIO_InitStructureure;USART_InitTypeDef USART_InitStructure;NVIC_InitTypeDef NVIC_InitStructure;//端口B硬件时钟打开RCC_AHB1PeriphClockC…

阿里云配置MySQL-server 8.0远程登录

Ubuntu 22.04 LTS 安装MySQL-Server 8.0 # apt search mysql-server # apt install mysql-server重建服务 # service mysql stop # vi /etc/mysql/mysql.conf.d/mysqld.cnf ... bind-address 0.0.0.0 ... # service mysql start # lsof -i:3306 COMMAND PID USER FD …

SpringBoot利用ConstraintValidator实现自定义注解校验

一、前言 ConstraintValidator是Java Bean Validation&#xff08;JSR-303&#xff09;规范中的一个接口&#xff0c;用于实现自定义校验注解的校验逻辑。ConstraintValidator定义了两个泛型参数&#xff0c;分别是注解类型和被校验的值类型。在实现ConstraintValidator接口时&…