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

news/2024/4/25 12:25:20

编程笔记 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)、错误处理等诸多高级特性。

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


https://www.xjx100.cn/news/3280857.html

相关文章

Spring Cloud Alibaba-04-Sentinel服务容错

Lison <dreamlison163.com>, v1.0.0, 2023.09.10 Spring Cloud Alibaba-04-Sentinel服务容错 文章目录 Spring Cloud Alibaba-04-Sentinel服务容错高并发带来的问题服务雪崩效应常见容错方案Sentinel入门什么是Sentinel微服务集成Sentinel安装Sentinel控制台 实现一个接…

【ES】es查询term、match、match_phrase、mast_not、mast...

这里写自定义目录标题 数据类型不分词的匹配&#xff08;会去匹配分词的数据&#xff09;分词匹配模糊匹配其他 数据类型 keyword&#xff1a;不分词非keyword&#xff1a;分词 不分词的匹配&#xff08;会去匹配分词的数据&#xff09; 对属性名.keyword&#xff0c;就是全…

singularity-ce-4.1.0 + go 完整安装步骤,及报错解决

singularity-ce-4.1.0 go 1.20 完整安装步骤. 解决bug: checking: host Go compiler (at least version 1.13)... not found! mconfig: could not complete configuration服务器基础环境&#xff1a; 阿里云服务器&#xff1a; > lsb_release -a LSB Version: :core-4.…

华为---RSTP(二)---RSTP基本配置示例

目录 1. 示例要求 2. 网络拓扑图 3. 配置命令 4. 测试终端连通性 5. RSTP基本配置 5.1 启用STP 5.2 修改生成树协议模式为RSTP 5.3 配置根交换机和次根交换机 5.4 设置边缘端口 6. 指定端口切换为备份端口 7. 测试验证网络 1. 示例要求 为防止网络出现环路&#xf…

本地TCP通讯(C++)

概要 利用TCP技术&#xff0c;实现本地ROS1和ROS2的通讯。 服务端代码 头文件 #include <ros/ros.h> #include "std_msgs/String.h" #include "std_msgs/Bool.h" #include <iostream> #include <cstring> #include <unistd.h>…

Web3探索加密世界:什么是空投?

随着加密货币行业的迅速发展&#xff0c;人们开始听说各种各样的术语&#xff0c;其中包括"空投"&#xff08;Airdrop&#xff09;。在这里&#xff0c;我们将深入探讨什么是空投&#xff0c;以及它在加密世界中扮演的角色。 什么是空投&#xff1f; 空投是指在加密…

GitHub Actions

GitHub Actions GitHub Actions 是 GitHub 提供的一种持续集成&#xff08;CI&#xff09;和持续部署&#xff08;CD&#xff09;解决方案。它可以让你在 GitHub 仓库中直接自动化、定制化和执行软件开发工作流程。 比如&#xff0c;当有新的推送到仓库或者新的 Pull Request…

LLM - Transformer Multi-Head Attention 维度变化与源码详解

一.引言 前面我们基于 LLM 大模型源码介绍了 Causal Mask 以及 ROPE 旋转位置编码的实现&#xff0c;本文介绍源码中 Transformer 的实现流程&#xff0c;我们基于代码逐行分析维度变化与代码含义&#xff0c;希望能够清晰的了解 LLM 中 Transformer 运行的流程。 二.Transfor…