go语言中的名称

golang | Go语言入门教程——结构体初始化与继承 本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是golang专题第10篇文章,我们继续来看golang当中的面向对象部分。 在上一篇文章当中我们一起学习了怎么创建一个结构体,以及怎么给结构体定义函数,还有函数接收者的使用。今天我们来学习一下结构体本身的一些使用方法。 初始化 在golang当中结构体初始化的方法有四种。 new关键字 我们可以通过new关键字来创建一个结构体的实例,这种方法和其他语言比较类似,这样会得到一个空结构体指针,当中所有的字段全部填充它类型对应的零值。比如 阅读详情

规则

Go中函数、变量、常量、类型、语句标签和包的名称遵循以下规则:

  • 由字符、数字、下划线等组成,以字符或下划线开头,不能以数字开头;

  • 大小写敏感,如name和Name是不同的名称;

  • 一般采用驼峰命名法(camel case),而不采用蛇形命名法(snake case),如一般写作fileName,而不采用file_name;

  • 包名总是由小写字母组成;

关键字

Go由25个关键字,如下:

break

default

func

interface

select

case

defer

go

map

struct

chan

else

goto

package

switch

const

fallthrough

if

range

type

continue

for

import

return

var

此外,还有一些内置的常量、类型和函数:

  • 常量:

    • true、false、iota、nil

  • 类型:

    • int、int8、int16、int32、int64

    • uint、uint8、uint16、uint32、uint64、uintptr

    • float32、float64、complex64、complex128

    • bool、byte、rune、string、error

  • 函数:

    • make、len、cap、new、append、copy、close、delete

    • complex、real、imag

    • panic、recover

有效范围

如果一个名称只在函数中声明,则它只在函数内有效;如果声明在函数外,则它将对包里面的所有源文件可见。

名称的首字母的大小写决定其可见性是否跨包,如果名称以大写字母开头,则它是可导出的,对包外是可见和可访问的,类似于java中的public,可被自己包之外的其他程序所引用;如果名称以小写字母开头,则它仅能在自己包内引用,类似java中的protected;

名称本身没有长度限制,但是Go倾向于使用短名称,尤其是作用域较小的局部变量。通常,名称的作用域越大,就使用越长且更有意义的名称。

风格上,当遇到由单词组合的名称时,Go程序员一般采用驼峰式而不采用蛇形命名法。而像ASCII和HTML这样的首字母缩写词通常使用相同的大小写,如一个函数可以命名为htmlEscape、HTMLEscape或escapeHTML,而不采用escapeHtml。

Go实战--Closures in golang(匿名函数、闭包) 号外!!号外!! 在拉勾网上搜索go的职位(北京): 2017年2月14日搜索结果:119个 2017年6月19日搜索结果:163个 2018年1月31日搜索结果:268个 生命不止,继续 go go go !!! 曾记得,某年某月某日,去快手面试。面试官的第一个问题就是: 面试官:“什么是闭包,说一说对闭包的理解” 答:“lambda表达式,其他的不太清楚” 面试官:“lamb 阅读详情

相关推荐

Go语言json编码驼峰转下划线、下划线转驼峰的实现

主要介绍了Go语言json编码驼峰转下划线、下划线转驼峰的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

各个编程语言的文件/函数/变量的命名方法

Java 文件名称:大驼峰 变量/方法名称:小驼峰 golang 文件名称:蛇形命名法 变量名/方法名称:小驼峰命名法(公共方法首字符大写,有点像大驼峰) python 文件名称:蛇形命名法 变量名/方法名称:蛇形命名法 object 公用方法 _object 半保护 被看作是protect,意思是只有类对象和子类对象自己能访问到这些变量,在模块或类外不可以使用,不能用from module import *导入。 __object 是为了避免与子类的方法名称冲突, 对于该标识符描述的方法,父类的方法不能

杰森写代码 541

频偏估计技术:从原理到5G应用的实战解析

本文深入解析了5G通信中的频偏问题及其核心技术。频偏如同调不准的旋钮,会导致信号失真与载波间干扰。文章详细拆解了整数倍与小数倍频偏估计两大核心方法,重点剖析了基于循环前缀和基于同步信号块的算法原理与优劣,并结合eMBB、mMTC、URLLC三大5G应用场景,提供了实战算法选择策略与参数调优避坑指南。

weixin_29218963的博客 261

一个高效的go语言字符串转驼峰命名算法实现函数

在go语言的开发中我们经常需要对各种命名进行规范, 今天给大家介绍的是一个高效的将字符串转 驼峰命名 (即 首字母大写的命名方式)的函数。另外给大家看一个效率较低,且代码冗长的一个字符串转驼峰命名函数, 看看你能找出多少个效率低下和不规范的地方?怎么样,你能看出上面代码中有多少个问题吗?如果是你你会如何做呢?

Tekin 是深耕技术 20 年的全栈实战派专家,精通 Go/Python/Java 等多语言开发。博客专注技术原理与实战结合,深度解析 Python 高阶编程、Go 语言架构、数据库优化等硬核内容。涵盖并发编程、机器学习、云原生等前沿领域,通过真实案例拆 748

银河麒麟V10 SP1忘记密码?3分钟搞定单用户模式密码重置(附详细截图)

本文详细介绍了银河麒麟V10 SP1操作系统忘记登录密码后的应急恢复方法。核心是通过GRUB引导菜单进入单用户模式,无需密码即可获得root权限,从而快速重置用户密码。文章提供了从捕捉GRUB界面、编辑启动参数到执行密码修改命令的完整步骤图解与常见问题解决方案,帮助用户在几分钟内恢复系统访问。

w3x4y的博客 911

Arxml文件可视化:当汽车软件架构遇见交互式设计工具

本文探讨了Arxml文件在汽车电子系统开发中的可视化技术,结合AUTOSAR架构标准,介绍了如何利用现代Web技术构建交互式设计工具。通过三维组件关系图、动态数据流展示和版本对比等功能,显著提升开发效率和架构评审质量,适用于MBD和ASPICE开发流程。

weixin_29050271的博客 427

Go strcase:高效处理字符串命名格式的利器

Go strcase:高效处理字符串命名格式的利器 项目介绍 Go strcase 是一个专门用于处理字符串命名格式的 Go 语言库。它能够轻松地将字符串在不同的命名格式之间进行转换,如驼峰命名(CamelCase)、蛇形命名(snake_case)和烤串命名(kebab-case)。该库的设计初衷是为了简化开发者在不同命名格式之间转换的需求,尤其是在处理 API 请求、数据库字段名等场景中。 项...

gitblog_00042的博客 476

分享一下使用Xilinx FPGA驱动MIPI DSI LCD屏的心路历程

分享一下调试用Xilinx FPGA驱动MIPI DSI LCD屏的心路历程,看到的朋友们,可以避免继续踩坑。

haoxingheng的专栏 5010

常见命名规范

文章目录0. 前言1. 常见命名方式1.1. 驼峰命名法1.2. 蛇形命名法1.3. 串式命名法1.4. 匈牙利命名法2. 取好名字2.1. 要有准确的意义2.2. 严格遵守命名规范2.3. 可读性优先 0. 前言 使用好的命名规范能够让自己和他人更加容易阅读和理解代码。 1. 常见命名方式 1.1. 驼峰命名法 驼峰命名法指的是使用大小写混合的格式,单词之间不使用空格隔开或者连接字符连接的 命名方式。它有两种格式:大驼峰命名法(UpperCamelCase)和小驼峰命名法 (lowerCamelCase)

qq_35346585的博客 6220

LAP-D协议概述

Q.921协议由称为LAPD(链路访问协议-D通道),与HDLC的关系密切,它是在ISDN D通道上使用的数据链路协议。 注:http://www.freesoft.org/CIE/Topics/125.htm LAP-D的帧格式 标志、位填充技术和FCS校验计算与HDLC一致。 16位的地址包括C/R字段、SAPI(服务访问点标识)和TEI(端点标识)。TEI用于区分使用相同ISDN...

系统运维 1914

微磁模拟实战指南:从OOMMF安装到首个3D模型运行

本文详细介绍了OOMMF微磁模拟软件的安装与使用,从环境配置到首个3D模型运行的完整教程。涵盖Windows、Linux和macOS平台的安装避坑指南,以及MIF文件编写、并行计算优化等实战技巧,帮助研究人员快速掌握这一开源工具在磁畴壁运动、磁滞回线等微磁学问题中的应用。

weixin_29294597的博客 153

Go代码风格

正确范例反例:var a int 的随意命名方式。

happy_king_zi的博客 1284

别再让会议变‘回音壁’:手把手教你调优WebRTC的AEC3回声消除(附实战代码)

本文深入解析WebRTC的AEC3回声消除技术,提供从参数调优到声学环境适配的实战指南。通过诊断回声特征、解剖核心参数(如filter.length_blocks和delay_estimate_smoothing)以及应对特殊场景(如密闭空间与开放办公区),帮助开发者有效解决视频会议中的回声问题,提升语音通信质量。附有实战代码和调试工具,适合需要优化实时通信体验的开发者。

weixin_29220405的博客 168

“类型名称”在Go语言规范中的演变

Go语言规范(The Go Programming Language Specification)[1]是Go语言的核心文档,定义了该语言的语法、类型系统和运行时行为。Go语言规范的存在使得开发者在实现Go编译器时可以依赖一致的标准,它确保了语言的稳定性和一致性,特别是在类型系统设计中,Go团队通过规范推动了语言的简洁性、稳定性与可维护性。对于Go开发者而言,Go语言规范也是语法特性使用的参考手册...

TonyBai 997

Python爬虫:抓取交通工具班次数据(公交、地铁等时刻表)

然而,由于这些信息并不总是以开放的API形式提供,因此爬虫技术成为了获取和分析这些数据的有效途径。然而,由于很多公交公司没有公开API,通常我们通过抓取其网页中的时刻表数据来获取信息。通过这些步骤,您可以轻松抓取交通工具的班次信息,并进行进一步的数据分析,辅助交通规划和出行推荐系统的建设。在这篇文章中,我们将演示如何使用Python爬虫技术抓取公交、地铁等交通工具的班次和时刻表数据。我们可以将公交和地铁的数据合并,进行综合分析。我们可以进一步分析地铁班次的发车频率,甚至可以比较不同地铁线路的班次。

2201_76125261的博客 953

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Golang基础学习1

文章目录package 基本管理单元公共/私有 变量Go 语言中的下划线1. 下划线在 `import` 中2. 下划线在代码中Go 命令 package 基本管理单元 同一个package下面,可以有非常多的不同文件,只要每个文件的头部 都有 如 “package xxx” 的相同name; 就可以在主方法中使用 xxx.Method() 调用不同文件中的方法了。 ps: 文件夹名字可以和这个...

wyhstars的博客 302

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

golang 获取 进程 名称 id

实例如下: package main import ( "fmt" "github.com/shirou/gopsutil/process" ) /* 获取所有进程id,以数组返回 */ func ProcessId() (pid []int32) { pids,_ := process.Pids() for _,p := range pids { pid = append(pid,p) } return pid } /* 获取所有进程名,以数组返回 */

whatday的专栏 5427

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

go语言学习-包(七)

转载自:https://golangbot.com/packages/ 什么是包?为什么使用包? 到目前为止,我们已经看到了GO程序:它只有一个文件,它有一个主函数和几个其他函数。在实际场景中,这种在一个文件中编写所有源代码的方法是行不通的。以这种方式编写的代码是不可能重用和维护的。包(package)用于解决这样的问题。 包用于组织go源代码以获得更好的可重用性和可读性。软件包提供了代码的分隔,...

这个名字想了很久 716

Go语言基础、实战 -- 7. 指针

1. 什么是指针 指针是存储内存地址的变量类型 2. 指针的声明与使用 指针的声明可以用一个已经存在的变量,也可以用 ==new(T)== 的形式: ```go var num int = 5 p_num := &num fmt.Printf("[%p] [%d]\n", p_num, *p_num) // 输出结果为:[0xc0000120a0] ...

zhounixing的博客 534

golang 没有名字参数,在Golang中获取方法参数名称

Given the following Go method:func (t *T) TMethod(data *testData) (interface{}, *error) {...}I want to reflect the name of the parameter (which is data here).I tried the following, but it returns the ...

weixin_36040020的博客 460

GoLang(二)常量和枚举

常量 在go语言中常量的定义用关键字const来定义 const pi = 3.1425926 const filename = "myfile.txt" 在go语言中常量的名称没有用大写来约定俗成,因为go语言中大小写变量名有着不同的含义 枚举 func enums() { const ( cpp = 0 java = 1 python = 2 goland = 3...

tangyaya8的博客 2492

go语言名称、声明

名称: 简单的命名规则:名称的开头是一个字母(Unicode中的字符即可)或下划线,后面可以跟任意数量的字符、数字和下划线,并区分大小写。 预留的关键字: break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type ...

ffmemcpy的博客 230

Go语言 JSON

Go语言对于这些标准格式的编码和解码都有良好的支持,由标准库中的encoding/json、encoding/xml、encoding/asn1等包提供支持(译注:Protocol Buffers的支持由 github.com/golang/protobuf 包提供),并且这类包都有着相似的API接口。基本的JSON类型有数字(十进制或科学记数法)、布尔值(true或false)、字符串,其中字符串是以双引号包含的Unicode字符序列,支持和Go语言类似的反斜杠转义特性,不过JSON使用的是。

weixin_54707168的博客 1333

名称

命名规则:Go中函数、变量、常量、类型、语句标签和包的名称都遵循一个规则,开头是一个字母或下划线,后面跟任意字符、数字和下划线,并区分大小写。 例如:heapSort和HeapSort是不同名称。 命名风格:Go更喜欢“驼峰式”风格——更喜欢用大写字母而不是下划线。例如:QuoteRuneToASCII、parseRequestLine。 像ASCII和HTML这样的首字母缩写词通常使用相同...

磨镜台的博客 184
上一篇: He3DB 云原生数据库核心设计理念与架构特性介绍
下一篇: 浏览器队头阻塞问题
云开发者联盟
博客等级 码龄5年 546粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值