首页 > 其他分享 >2 Golang语法基础

2 Golang语法基础

时间:2023-04-24 16:45:46浏览次数:47  
标签:语法 定义 基础 name Golang var 类型 pi 变量

目录

2 Golang语法基础

1 变量命名规范

Go语言中的函数名、变量名、常量名、类型名和包名等所有的命名,都遵循一个简单的命名规则:

一个名字必须以一个字母(Unicode字母)或下划线开头,后面可以跟任意数量的字母、数字或下划线

大写字母和小写字母是不同的:Name和name是两个不同的变量(区分大小写,但是go的大写有特殊含义)

关键字和保留字都不建议用作变量名

  • 25个关键字,编辑器中会变色

    大部分关键字其他编程语言中也都有,比较特殊的几个是: chan, defer, go, select

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
  • 37 个保留字【预定义标识符】
内置常量:  true false iota nil
内置类型:  int int8 int16 int32 int64
          uint uint8 uint16 uint32 uint64 uintptr
          float32 float64 complex128 complex64
          bool byte rune string error
内置函数:  make len cap new append copy close delete
          complex real imag
          panic recover

定义变量和函数名==>>使用驼峰体

go文件的命名==>>建议使用下划线

2 语法规则:变量的定义与使用

① 完整定义

var 变量名称 [变量类型] = 变量值

变量只要定义了,类型就固定了,之后不能改变

	// 1 完整定义
	var pi float32 = 3.1415926
	fmt.Println(pi)
  • 同时定义多个变量
var (
    变量名称 [变量类型] =  变量值
    变量名称 [变量类型] =  变量值
    变量名称 [变量类型] =  变量值
    ...
)
	// 多个
var (
		pi float32 = 3.1415926
		name string = "duoduo"
		age int = 18
)
  • 注意事项
    • 在函数中定义的变量,定义后必须使用,否则编译时会报错: Unused variable 'pi'
    • 变量只要定义了,类型就固定了,之后不能改变
    • 变量可以先定义再赋值,但必须使用完整定义

② 类型推导:自动推导出变量, 是什么类型

类型推导出来的变量,虽然没有定义其类型,但是是有类型的,并且后期不能变换类型

// 类型推导
var pi,name,age = 3.1415926,"duoduo",18
// 多个
var (
   pi1 = 3.1415926
   name1 = "duoduo"
   age1 = 18
)

③ 简略声明:

可以省略var以及 省略类型,但是必须使用 :=来定义

	// 简略声明
	name := "duoduo"
	age :=18
	pi :=3.1415926
  // 多个
  name, age, pi := "lqz", 19, 3.1415926
	fmt.Printf("name的值是:%v,类型是:%T", name, name)

标签:语法,定义,基础,name,Golang,var,类型,pi,变量
From: https://www.cnblogs.com/DuoDuosg/p/17350030.html

相关文章

  • Apple 的 plist 编辑器入门指南:基础操作与高级功能详解
     PlistEditPro是一款专为macOS编写的最高级属性列表Plist编辑器。对于Mac和IOS开发人员来说,编写应用程序时必须编辑各种列表文件。PlistEditPro通过提供直观且功能强大的界面,使编辑这些文件更加容易。它不仅能够复制和粘贴或拖放属性列表数据,还提供强大的搜索和替换功能,并......
  • 01-1 动力学基础(化学热力学与动力学、浓度物理量、焓、热量)
    研究化学反应的两种手段复习相关物理量:质量浓度、物质的量浓度、质量分数、摩尔分数和物质的量浓度关系式简单反应、复杂反应、总包反应、单相与多相反应生成焓、反应焓、燃烧焓、反应焓的计算实例发热量、高位发热量、低位发热量发热量:亦称“热值”,指的是单位量......
  • Java-基础篇
    1:Java背景知识Java是美国sun公司(StanfordUniversityNetwork)在1995年推出的一门计算机高级编程语言。Java早期称为Oak(橡树),后期改名为Java。Java之父:詹姆斯·高斯林(JamesGosling)。2009年sun公司被Oracle公司收购2:Java技术体系3:Java安装验证JDK安装成功的......
  • MySQL基础之SQL基础1
    MySQL基础之SQL基础1一、SQL简介#当面对一个陌生的数据库时,通常需要一种方式与它进行交互,以完成用户所需的各种工作。#这个时候,就要用到SQL语言了。#由于SQL语言的标准化,所以大多数关系型数据库系统都支持SQL语言,它已经发展成为多种平台进行交互操作的底层回话语言......
  • gradle基础知识
       帮助命令:gradle--help查看版本:gradle -v清空所有编译:gradleclean构建:gradlebuild跳过测试构建构建: gradlebuild-xtest第三⽅插件https://plugins.gradle.org/核⼼插件https://docs.gradle.org/current/userguide/plugin_reference.html  ......
  • idea - 在Terminal 交叉编译golang 解决
    1. 背景在ideaTerminal栏执行gobuildxxx.go打包的是exe文件交叉编译配置SETCGO_ENABLE=0SETGOOS=linuxSETGOARCH=arm64gobuildxxx.go发现编译文件仍然是exe2.解决需要切换为cmd指令执行cmd然后在执行交叉编译即可 ......
  • 基于golang实现ssh terminal
    基于golang实现sshterminal实现sshterminal相对比较容易,简单来说需要初始化ssh连接后,通过ssh连接创建一个会话,定义好输入、输出,然后再请求pty(需要定义好modes)与远程会话进行关联。packagemainimport( "fmt" "github.com/gin-gonic/gin" "github.com/gorilla/websocket"......
  • JavaScript 基础问答
      JavaScript数据类型有哪几种?  一共有五种:number、string、object、boolean、undefined.其中最后一个是定义变量后没有赋值介绍隐式类型转换字符串+数字=字符串;字符串-数字=数字;+数字字符串=数字null经过数字转换之后会变为0undefined经过数字转换之后会变为NaN......
  • 软件的基础知识
    1.键盘和快捷键Ctrl+a全选Ctrl+c复制Ctrl+x剪切Ctrl+v粘贴Ctrl+s保存Ctrl+z回退win+r运行输入cmd命令行工具2.计算器Windows自带的计算器,左上角有程序员计算方式3.文件和文件夹的常用命名•demo文件夹:案例•test文件夹:练习•img文件夹:图片......
  • golang中sync.Pool的使用示例
    先上代码:packagemainimport( "fmt" "sync")varpoolsync.Pooltypepersonstruct{ Namestring Ageint}funcinit(){ pool=sync.Pool{New:func()any{ returnnew(person) }}}funcmain(){ p:=pool.Get().(*person) p......