当前位置: 首页 > news >正文

编程笔记 Golang基础 008 基本语法规则

编程笔记 Golang基础 008 基本语法规则

Go语言的基本语法规则.

Go语言的基本语法规则包括但不限于以下要点:

  1. 标识符

    • 标识符用于命名变量、常量、类型、函数、包等。
    • 标识符由字母(a-z,A-Z)、数字(0-9)和下划线(_)组成。
    • 标识符不能以数字开头。
    • Go语言严格区分大小写,比如myVariableMyVariable是两个不同的标识符。
    • 标识符中不能包含空格或其他特殊字符。
    • 标识符不能使用Go语言的保留关键字作为名称。
  2. 变量声明

    • 使用var关键字可以显式声明变量,并可指定其数据类型。
    var name string
    
    • 简短声明(简写语法):在函数内部可以使用:=进行变量的声明和初始化,编译器会自动推导变量类型。
    name := "Tom"
    
  3. 基本数据类型

    • 整数类型:int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr
    • 浮点数类型:float32, float64
    • 布尔类型:bool
    • 字符串类型:string
    • 字符类型:rune (实际上是int32,代表一个Unicode码点)
    • 字节类型:byte (实际上是uint8)
  4. 控制结构

    • 条件语句:if, else, switch
    • 循环语句:for, while(通常通过for实现)
    • 跳转语句:break, continue, goto, return
  5. 函数

    • 函数定义需要指定返回类型,如果没有返回值,则为func function_name(参数列表) {}
    • main函数是程序执行的入口点,必须在名为main的包内定义,且无参数无返回值。
  6. 包(Packages)

    • 每个Go源文件属于一个包,通过package关键字指定包名。
    • import关键字用来导入其他包,如标准库或自定义包。
    • 包级别的变量和函数可通过大写字母开头的标识符被外部包访问。
  7. 注释

    • 单行注释:// 这是一个单行注释
    • 多行注释:/* 这是多行注释内容 */
  8. 作用域和可见性

    • 变量的作用域从声明处开始,直到所在块结束。
    • 全局变量可以在整个包内可见,如果首字母大写,也可以在其他包中被引用。
  9. 初始化函数

    • 每个包都可以有一个或多个名为init的函数,它们会在包加载时自动调用,按照依赖关系排序执行。

以上规则构成了Go语言基础语法的核心部分,但并非全部。实际编程中还会涉及接口、并发编程(goroutines和channels)、错误处理等诸多高级特性。

所涉及内容,在后面还要详细解析。

相关文章:

编程笔记 Golang基础 008 基本语法规则

编程笔记 Golang基础 008 基本语法规则 Go语言的基本语法规则. Go语言的基本语法规则包括但不限于以下要点: 标识符: 标识符用于命名变量、常量、类型、函数、包等。标识符由字母(a-z,A-Z)、数字(0-9&#…...

android input命令支持多指触摸成果展示-千里马framework实战开发

hi input命令扩展提示部分 generic_x86_64:/ # input -h Error: Unknown command: -h Usage: input [<source>] <command> [<arg>...]The source…...

Stable Diffusion 模型分享:Indigo Furry mix(人类与野兽的混合)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十...

OpenAI Sora引领AI跳舞视频新浪潮:字节跳动发布创新舞蹈视频生成框架

OpenAI的Sora已经引起广泛关注&#xff0c;预计今年AI跳舞视频将在抖音平台上大放异彩。下面将为您详细介绍一款字节跳动发布的AI视频动画框架。 技术定位&#xff1a;这款框架采用先进的diffusion技术&#xff0c;专注于生成人类舞蹈视频。它不仅能够实现人体动作和表情的迁移…...

[深度学习] 卷积神经网络“卷“在哪里?

​ &#x1f308; 博客个人主页&#xff1a;Chris在Coding &#x1f3a5; 本文所属专栏&#xff1a;[深度学习] ❤️ 热门学习专栏&#xff1a;[Linux学习] ⏰ 我们仍在旅途 目录 1.卷积的定义 2.卷积的"卷"在哪里 3.什么又是卷积神…...

企业网络安全自查:总结报告与改进指南

按照网络和数据安全监督检查工作的要求&#xff0c; 现将网络信息安全自查阶段有关情况总结如下&#xff1a; 一、自查工作的组织开展情况 我单位始终高度重视网络与信息安全自查工作&#xff0c; 成立专项管理组织机构&#xff0c;深入学习贯彻相关文件精神&#xff0c;严格…...

怎么理解ping?这是我听过最好的回答

晚上好&#xff0c;我是老杨。 Ping这几个字母&#xff0c;已经深入网工人的骨髓了吧&#xff1f; 把Ping用到工作里&#xff0c;肯定不少人在用&#xff0c;但对Ping的了解和理解是不是足够深&#xff0c;取决了你能在工作里用到什么程度&#xff0c;能让它帮你到什么地步。…...

用户请求到响应可能存在的五级缓存

用户请求到响应可能存在的五级缓存 当用户在浏览器中输入URL进行访问时&#xff0c;请求并不是直接达到服务器&#xff0c;而是会经历多级缓存&#xff0c;以提高网络效率。本文将详细介绍用户请求到响应可能会经历的五个缓存级别&#xff1a;浏览器缓存&#xff0c;代理缓存&…...

云图极速版限时免费活动

产品介绍 云图极速版是针对拥有攻击面管理需求的用户打造的 SaaS 应用&#xff0c;致力于协助用户发现并管理互联网资产攻击面。 实战数据 (2023.11.6 - 2024.2.23) 云图极速版上线 3 个月以来&#xff0c;接入用户 3,563 家&#xff0c;扫描主体 19,961 个&#xff0c;累计发…...

vue3 vuex

目录 Vuex 是什么 什么是“状态管理模式”&#xff1f; 什么情况下我应该使用 Vuex&#xff1f; 使用方法&#xff1a; 提交载荷&#xff08;Payload&#xff09; 对象风格的提交方式 使用常量替代 Mutation 事件类型 Mutation 必须是同步函数 在组件中提交 Mutation …...

Java架构师之路三、网络通信:TCP/IP协议、HTTP协议、RESTful API、WebSocket、RPC等。

目录 TCP/IP协议&#xff1a; HTTP协议&#xff1a; RESTful API&#xff1a; WebSocket&#xff1a; RPC&#xff1a; UDP&#xff1a; HTTPS&#xff1a; 上篇&#xff1a;Java架构师之路二、数据库&#xff1a;SQL语言、关系型数据库、非关系型数据库、数据一致性、事…...

【C++】笔试训练(九)

目录 一、选择题二、编程题1、另类加法2、走方格的方案数 一、选择题 1、某函数申明如下 void Func(int& nVal1);有int a,下面使用正确的为&#xff08;&#xff09; A Func(a) B Func(&a) C Func(*a) D Func(&(*a)) 答案&#xff1a;A 2、C语言中&#xff0c;类…...

模板注入 [BJDCTF2020]Cookie is so stable1

打开题目 有flag页面&#xff0c;有Hint页面 这里题目有提示&#xff0c;突破口是在cookie上面 经过测试发现有ssti注入&#xff1a; 抓包 判断模板注入类型的办法 输入 {{7*‘7’}} 回显49 输入{{7*‘7’}}&#xff0c;返回49表示是 Twig 模块 输入{{7*‘7’}}&#xff0…...

2-18算法习题总结

二分查找问题 [COCI 2011/2012 #5] EKO / 砍树 题目描述 伐木工人 Mirko 需要砍 M M M 米长的木材。对 Mirko 来说这是很简单的工作&#xff0c;因为他有一个漂亮的新伐木机&#xff0c;可以如野火一般砍伐森林。不过&#xff0c;Mirko 只被允许砍伐一排树。 Mirko 的伐木…...

【软考高项】【英语知识】-- 单词积累

目录 一、常见计算机技术词汇 二、项目管理词汇 2.1 十大知识域 2.2 五大过程组 2.3 49个子过程 2.4 工具和技术汇总 2.5 输入和输出汇总 一、常见计算机技术词汇 序号中文英文1云计算Cloud computing2云存储Cloud storage3云服务Cloud service4软件即服务SaaS5平台即服…...

外包干了3个月,技术退步明显

先说一下自己的情况&#xff0c;本科生&#xff0c;19年通过校招进入广州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...

【ArcGIS微课1000例】0105:三维模型转体模型(导入sketchup转多面体为例)

文章目录 一、实验概述二、三维模型转多面体三、加载多面体数据四、注意事项一、实验概述 ArcGIS可以借助【导入3D文件】工具支持主流的三维模型导入。支持 3D Studio Max (.3ds)、VRML and GeoVRML 2.0 (.wrl)、SketchUp 6.0 (.skp)、OpenFlight 15.8 (.flt)、Collaborative …...

创建型设计模式 - 原型设计模式 - JAVA

原型设计模式 一 .简介二. 案例三. 补充知识 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 一 .简介 原型模式提供了一种机制&#xff0c;可以将原始对象复制到新对象&#xff0…...

Squid代理:APT、PyPI和Docker的内网穿透解决方案

如果你是在内网环境&#xff0c;并且你知道一台服务器可以链接外网&#xff0c;可以通过Squid代理的方式更新apt、pypi、docker源。 你可以通过在服务器A&#xff08;172.16.16.122&#xff0c;可上外网&#xff09;上设置代理服务器来实现服务器B通过服务器A访问外部APT源的需…...

MYSQL--触发器

一:介绍: 1.触发器实际上就是一种特殊的存储过程,两者都能够在MYSQL当中完成特定的功能,存储在服务器上的特殊SQL片段,可以重复进行使用,提高复用性的一种功能.但是触发器并不需要进行调用,在使用DML操作的时候会自动的调用相关的触发器操作 2.触发器能够对于DML操作当中的,删除…...

C8051Fxx系列MCU的Bootloader与ISP功能开发指南

1. C8051Fxx系列MCU的Bootloader与ISP功能概述在嵌入式系统开发中&#xff0c;C8051Fxx系列微控制器因其高性能和丰富的外设资源被广泛应用于工业控制、消费电子等领域。Bootloader&#xff08;引导加载程序&#xff09;和ISP&#xff08;在系统编程&#xff09;功能是这类MCU开…...

销售跟进转任务,4个实操标准帮你高效交接无遗漏

不少销售朋友反馈&#xff0c;调岗、离职或带新人交接跟进任务时&#xff0c;常出现信息杂乱、关键内容遗漏的问题&#xff0c;要么仅提供大量聊天记录和录音&#xff0c;接手人难以快速找到重点&#xff0c;要么遗漏客户特殊要求、过往承诺&#xff0c;最终导致丢单、承担责任…...

不只是CT重建:手把手教你用RTK+ITK+VS2022搭建可扩展的医学影像处理开发环境

构建医学影像算法开发平台&#xff1a;RTKITKVS2022全流程实战指南 医学影像处理领域正迎来前所未有的技术革新&#xff0c;从传统的CT重建到三维可视化、病灶自动检测等高级应用&#xff0c;开发者需要一套稳定且可扩展的开发环境。本文将带您从零开始&#xff0c;在Windows平…...

EcoServe:LLM服务优化的KV缓存复用与动态调度技术

1. EcoServe系统概述&#xff1a;LLM服务优化的新范式在大型语言模型&#xff08;LLM&#xff09;服务领域&#xff0c;预填充&#xff08;prefill&#xff09;和解码&#xff08;decode&#xff09;阶段的资源竞争一直是制约系统效率的关键瓶颈。传统解决方案通常采用两种极端…...

【风光场景生成】基于改进ISODATA的负荷曲线聚类算法附Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。 &#x1f34e;完整代码获取 定制创新 论文复现点击&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &…...

基于Agent Deck构建多智能体系统:从原理到工程实践

1. 项目概述&#xff1a;从“Agent Deck”看智能体协作平台的构建最近在GitHub上看到一个挺有意思的项目&#xff0c;叫asheshgoplani/agent-deck。光看这个名字&#xff0c;你可能会联想到一副“牌”&#xff0c;或者一个“控制台”。没错&#xff0c;这个项目的核心思想&…...

构建自主支付智能体:从事件驱动架构到安全实践

1. 项目概述&#xff1a;一个能自主处理支付的智能体最近在开源社区里&#xff0c;我注意到一个挺有意思的项目&#xff0c;叫sentient-agi/agentic-payments-bot。光看这个名字&#xff0c;就能嗅到一股前沿技术融合的味道——“Sentient AGI”&#xff08;感知型通用人工智能…...

基于MSP430的太阳能追踪与智能调光系统设计与实现

1. 项目概述与设计初衷最近在折腾一个挺有意思的小项目&#xff0c;起因是看到小区里那些太阳能路灯&#xff0c;总觉得它们有点“傻”。大白天太阳都斜到西边了&#xff0c;电池板还傻愣愣地朝着东边&#xff1b;晚上天都黑透了&#xff0c;灯还亮得晃眼&#xff0c;后半夜路上…...

Python 簡單的 股市資料 API 呼叫範例

前言 假如我們想從某個外部服務取得股市資料&#xff0c;藉由Python API 呼叫&#xff0c;可以讓我們從雅虎財經的API下載市場數據。以下簡單得介紹一個API &#xff0c; yfinance 一個 Python 開源函式庫&#xff0c;使用者可以輕鬆地取得股票、指數、貨幣、ETF、基金以及期貨…...

硬件入门 + 单片机基础(第14天)综合通信实训

ESP32 物联网结业项目&#xff1a;WiFi MQTT 继电器 温湿度 整合完整版 项目说明 这是物联网综合结业项目&#xff0c;整合了你学过的所有核心技术&#xff1a; WiFi 自动联网 断网重连MQTT 远程控制继电器&#xff08;开关&#xff09;DHT11 温湿度自动上报心跳包 消息…...