• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Go语言基础语法和注意事项上 | 青训营

武飞扬头像
牧苏
帮助1

写在前面

本文内容主要来自于我学习尚硅谷的Go语言教程的心得体会,而由于我本身有一定其它语言基础,所以编程语言中一些通用的语法要求和特性不会在本文列出。本文只总结了我认为的Go语言中一些独有的或重要的注意点以供我复习使用,即本文不会囊括所有Go语言的细节

一.Go语言注意事项和常用特性

  1. Go源文件以“go”为扩展名

学新通

  1. Go语言严格区分大小写。变量名和函数名首字母大写,则表示可以被其他包调用;如果首字母为小写,则不可被其他包调用。这有助于维护代码的封装性和可读性。

  2. Go中每个语句后不需要分号,因为Go语言会自动在每行后加分号,提高了代码的简洁性和可读性。

4.Go在编译时会检测未使用的变量或引入的包,这有助于提醒开发者去除无用的代码,以减少代码的冗余。

学新通

  1. Go中有多种变量定义方式,其中比较特别的是类型推导,该方式可以根据变量的值自动判定变量类型,从而减少了冗余的类型声明,使代码更加简洁。

学新通

6.命名规范
(1)缩略词全大写,但当其位于变量开头且不需要导出时,使用全小写。例如使用ServeHTTP而不是ServeHttp,使用XMLHTTPRequest 或者xmHTTPRequest
(2)变量距离其被使用的地方越远,则需要携带越多的上下文信息。
(3)全局变量在其名字中需要更多的上下文信息,使得在不同地方可以轻易辨认出其含义

7.Go语言提供了支持基准性能测试的 benchmark工具
go test -bench=. -benchmem
有助于开发者评估代码的性能表现。

8.Go中的大括号在if语句或函数的第一行后必须紧跟着,这是Go语言的语法要求,有助于代码的一致性和可读性。

学新通

二.Go语言数据类型使用细节

1.字符类型使用细节

(1)Go中允许使用转移字符''来将其后的字符转为特殊字符型常量。例如var a char = '\n'.其中'\n'表示换行符

(2)在Go中,字符有对应的utf-8码值,本质上是一个整数,可以进行运算,直接输出会是该字符对应的utf-8码值

2.布尔类型使用细节

不可以用0或非0的整数代替false和true

3.字符串类型使用细节

(1)在Go中字符串是不可变的,一旦赋值不可修改

(2)字符串有两种表示形式。双引号会识别转义字符;反引号会以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、输出源代码等效果

三.Go语言基本数据类型的转换

1.介绍

Go语言中数据类型不能自动转换,需要显示转换。基本语法为T(v),表达式中T为数据类型,v为需要转换数据类型的变量

学新通

2.类型转换细节说明

(1)Go中,数据类型的转换可以是从表示范围小->表示范围大,也可以表示范围大->表示范围小

(2)go语言中数据类型的转换不会导致变量的数据类型发生改变,被转换的是变量存储的数据(值)

(3)若将int64转成int8,编译时不会报错,但是转换的结果按溢出处理

(4)在将String类型转换成基本数据类型时,要注意String类型能够被正确转换。例如:可以把string类型"9527"转成整数,但如果将string类型“helloworld”转换成整数会被转成0

四.循环、分支与流程控制

1.switch穿透-fallthrough,如果在case语句后增加fallthrough,则会继续执行下一个case,叫做switch穿透

2.Go提供for-range来遍历字符串和数组,for-range在遍历字符串时,是按照字符来遍历的,而不是按照字节。

3.如果字符串含有中文,那么传统的遍历字符串方式会出现乱码,因为传统方法是按照字节遍历,而汉字在utf8编码对应三个字节。而for-range不会出现这个问题还有一种方式是把字符串转换成切片来遍历

4.break默认跳出最近的for循环,break后面可以指定标签,跳出标签对应的for循环(continue同理)

小结

Go语言中有很多与其他编程语言不同的细节与差异,这已经体现在了Go的基础语法部分,也正是因为这些不同点使得Go语言能够从众多新兴语言中脱颖而出,我相信在未来,Go语言会更加完善和强大

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgbbfka
系列文章
更多 icon
同类精品
更多 icon
继续加载