Go 入门基础

本文介绍了Go语言的基础知识,包括命名规则(首字符、Unicode字符、命名禁忌)、关键字如`break`、`const`、`func`等,以及保留字、变量类型(整型、浮点型、复数、布尔型等)、变量声明与初始化、常量定义、运算符(算术、关系、逻辑、位运算符)和赋值操作。此外,还提到了变量作用域、注释和代码文件创建的相关内容。
摘要由CSDN通过智能技术生成

目录

命名方式

关键字

保留字

运算符

变量类型

变量,关键字 var

常量,关键字 const

字面量

变量作用域

注释

创建 .go 文件

创建Go应用程序

启动Go应用程序


命名方式

go变量、常量、自定义类型、包、函数的命名方式需遵循以下规则

1. 首字符可以是任意Unicode字符或者下划线

2. 首字符之外的部分可以是Unicode字符、下划线或数字(也就是说除了数字不能当首字符其他的字符都可以)

3. 名字的长度没有限制

* 不要在名字中使用汉字


关键字

break  default  func  interface  select  case  defer  go  map  struct  chan  else  goto  package  switch  const  if  range  type  continue  for  import  return  fallthrough  var  

保留字

常量

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


运算符

算数运算符

运算符描述
+
-
*
/
%取余

关系运算符

运算符描述
==检查两个值是否相等,相等返回true,不相等返回false
!=检查两个值是否不相等,不相等返回true,相等返回false
>检查左边值是否大于右边值,是返回true,否返回false
>=检查左边值是否大于等于右边值,是返回true,否返回false
<检查左边值是否小于右边值,是返回true,否返回false
<=检查左边值是否小于等于右边值,是返回true,否返回false

逻辑运算符

运算符描述
&&逻辑AND运算符。如果两边的条件都是true,则为true,否则为false
||逻辑OR运算符。如果两边的条件有一个为true,则为true,否则为false,如果前面的条件已经为true,后面的不再参与运算
!逻辑NOT运算符。如果条件为true,则为false,否则为true

位运算符

运算符描述
&参与运算的两数的二进制相与(相同位的都是1结果就为1)
|参与运算的两数的二进制相或(相同位有一个为1结果就为1)
^参与运算的两数的二进制相异或,相同位不同时结果为1,作为一元运算符时表示按位取反,符号位也跟着变
<<左移N位就是乘以2的N次方。a<<b是把a的二进制位数集体左移b位,高位丢弃,低位补0
>>右移N位就是除以2的N次方。a>>b是把a的二进制位数集体右移b位。根据计算机的不同,有符号数使用算数右移,无符号数必须使用逻辑右移(算数右移:高位补最高有效位的值,低位丢弃。逻辑右移:高位补0,低位丢弃)

赋值运算符

运算符描述
=简单的赋值运算符,将右边的表达式的值赋值给左边
+=相加后再赋值,例如 a+=5,表示 a = a + 5
-=相减后再赋值
*=相乘后再赋值
/=相除后再赋值
%=求余后再赋值
<<=左移后赋值
>>=右移后赋值
&=按位与后赋值
|=按位或后赋值
^=按位异或后赋值

变量类型

类型go变量类型fmt输出
整型int  int8 int16  int32  int64  uint  uint8  uint16 uint32  uint64%d
浮点型float32  float64

%f (默认6位小数)

%.2f (设置显示2   位小数)

%e (1.000e+n显示)

%g (1e+n显示)

复数complex128  complex64%v
布尔型bool%t
指针uintptr%d (十进制) %p (十六进制)
引用map  slice  channel%v
字节byte%d
任意字符rune%d
字符串string%s
错误error%v

变量,关键字 var

如果声明后未显式初始化,数值型系统默认初始化为0,字符串默认初始化为空字符串,布尔型默认初始化为false,引用类型、函数、指针、接口默认初始化为nil。

定义变量

var a string = "abc"        // var 声明变量所使用的关键字,a 表示 自己起的变量名称,string 表示变量类型为字符串,= 后面的值为变量值

var a,b int = 1,2         // 一行代码定义多个变量

var a,b = "abc",1        // 一行代码定义多个不同类型的变量

var a = "abc"                // 没有指定变量类型,通过变量值推断变量类型

函数内部的变量(非全局变量)可以通过 := 声明并初始化

a := 3        //  var a int = 3

匿名变量,使用下划线表示,匿名变量不占命名空间,不会分配内存,因此可以重复使用

_= 1+2


常量,关键字 const

常量在定义时必须赋值,常量的值在程序运行期间不会改变

定义常量

const ABC string = "abc"        // 定义一个常量,常量名推荐全部为大写

const(                                // 定义多个常量

        A = 1

        B = 2

)

const(                                // 定义多个常量,值简写

        A = 13

        B        // 值 = 13,沿用上一行的值

        C        // 值 = 13,沿用上一行的值

)

const(                // 定义枚举类型常量

        A = iota        // A = 0

        B                 // B = 1                // 假如这里用不到 1 那么可以把B定义成匿名常量 使用_

        C                 // C = 2

)


字面量

没有变量名,只有变量值。在java中表示魔法值

fmt.Println("Hello Go!")        // "Hello Go!"就是字面量


变量作用域

全局变量:在函数外面定义的变量

变量命名或函数或结构体命名以大写字母开头的,表示所有地方都可以访问,访问之前导包即可    // 类比java的 public

变量命名或函数或结构体以小写字母开头的,表示只能在当前的 package 内访问        // 类比java的protected

var(

        A = 1                // public

        a = 2                // protected

)

局部变量:在函数内部定义的变量

局部变量只能在函数内访问,命名可以和外部变量重名,就近原则,值以局部变量的为准


注释

单行注释使用  //

// 我是单行注释

多行注释使用 /**/

/**

我是多行注释

*/

go doc 注释文档

使用命令 go doc 包名,查看包的注释


创建 .go 文件

.go 文件内容的第一行 必须是 package 包名

可执行文件 的第一行必须是 package main,并且要有一个且只有一个 main 函数

golang语言中 文件名没有作用,golang中没有类,包名才有作用

引入从项目名到包名,例如:import "项目名/包名"


创建Go应用程序

go mod init 自定义程序名

启动Go应用程序

go run go文件.go

全套教程地址:Golang全套教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

7 号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值