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

Go语言学习日志(一)

1、无效的标识符开头

  • 1ab(以数字开头)
  • case(Go语言的关键字)
  • a+b (不允许运算符)

 2、GO的主要关键字

breakdefaultfuncinterfaceselect
  • case
defergomapstruct
chanelsegotopackageswitch
constfallthroughifrangetype
continueforimportreturnvar

 除了以上介绍的这些关键字,Go语言还有36个预定义标识符:

appendboolbytecapclosecomplexcomplex64complex128uint16
copyfalsefloat32float64imagintint8int16uint32
int32int64iotalenmakenewnilpanicuint64
printprintlnrealrecoverstringtrueuintuint8uintptr

3、 格式化字符串

Go语言中使用fmt.Sprintf 或 fmt.Printf 格式化字符串并赋值给新串

  • Sprintf根据格式化参数生成格式化的字符串并返回该字符串
  • Printf根据格式化参数生成格式化的字符串并写入标准输出
package mainimport ("fmt"
)func main() {// %d 表示整型数字,%s 表示字符串var stockcode=123var enddate="2020-12-31"var url="Code=%d&endDate=%s"var target_url=fmt.Sprintf(url,stockcode,enddate)fmt.Println(target_url)
}

 4、Go语言数据类型

布尔型

只可以是常量true or false

数字类型

整型int和浮点型float32、float64,Go语言支持整型和浮点型数字,并且支持复数,其中位的运算采用补码。(unit8、unit16、uint32、unit64、int8、int16、int32、int64 )(float32、float64、complex64、complex128 )(byte、rune、uint、int、uintptr)

字符串类型

派生类型

  • 指针类型(Pointer)
  • 数组类型
  • 结构化类型(struct)
  • Channel类型
  • 函数类型
  • 切片类型
  • 接口类型(interface)
  • Map类型

 5、Go语言变量

Go语言变量由字母、数字、下划线组成,其中首个字符不能为数字。

声明 变量的一般形式是使用 var 关键字 

var indentifier type

一次可以声明多个变量

var indentifier1  indentifier2 type

变量声明时,如果没有初始化,则变量默认为零值。

package main
import "fmt"
func main() {// 声明一个变量并初始化var a = "RUNOOB"fmt.Println(a)// 没有初始化就为零值var b intfmt.Println(b)// bool 零值为 falsevar c boolfmt.Println(c)
}

 三种情况

  1. 指定变量类型,如果没有初始化,则变量默认为零值
  2. 根据值自行判定变量类型
  3. 变量已经var声明过,再使用:=声明变量,就产生编译错误,

 在Go语言中,=和:=是两个不同的赋值运算符,它们的主要区别如下:

1、=是赋值运算符:作用是把右边表达式的值赋给左边已经声明的变量

var a int     // 先声明变量a
a = 10 

要求变量必须已经声明过 

2、:=是短变量声明并赋值的运算符

 它能够在声明量的同时为其赋值,而且变量的类型可以根据所赋的值自动推导出来

变量必须是尚未声明过的,不然也会出现编译错误。

a:=10

还能用于同时声明并赋值多个变量

a, b := 10, "hello"
// 类型相同多个变量, 非全局变量
var vname1, vname2, vname3 int
vname1, vname2, vname3 = 1, 2, 3var vname7, vname8, vname9 = 1, 2, 3 // 和 python 很像,不需要显示声明类型,自动推断vname4, vname5, vname6 := 1, 2, 3 // 出现在 := 左侧的变量不应该是已经被声明过的,否则会导致编译错误

 6、Go语言常量

常量中的数据类型只可以是布尔型、数字型 和 字符串型

const identifier [type] = value

常量还可以用作枚举的形式

const{Unknown = 0Female = 1Male = 2
}

常量可以用len()、cap()、unsafe.Sizefof()函数计算表达式的值

http://www.lryc.cn/news/591064.html

相关文章:

  • Python应用进阶DAY7--面向对象编程基本特性和super函数
  • 电子电路中的电压符号命名约定
  • FreeSWITCH配置文件解析(6) mod_format_cdr 话单中字段解析
  • 浅谈自动化设计最常用的三款软件catia,eplan,autocad
  • 云服务器如何设置防火墙和安全组规则?
  • Linux内核网络栈深度剖析:inet_connection_sock.c的服务器端套接字管理
  • 【算法训练营Day13】二叉树part3
  • 华为P30/pro (ELE-AL00) 鸿蒙4.2降级 EMUI 9
  • 服务器数据恢复—raid5磁盘阵列崩溃如何恢复数据?
  • 集群聊天服务器各个类进行详解
  • Cookie 与 Session概述
  • 【神经网络在MATLAB中是如何实现的?】
  • 构建可扩展的测试体系,从设计、优化到持续维护
  • 2D视觉系统标定流程与关键要求
  • VSCODE调教
  • 《前端基础核心知识笔记:HTML、CSS、JavaScript 及 BOM/DOM》
  • yolov8-pos/yolov11-pos 训练
  • 6、docker network
  • UE5 lumen
  • Linux搭建LAMP环境(CentOS 7 与 Ubuntu 双系统教程)
  • FastAdmin系统框架通用操作平滑迁移到新服务器的详细步骤-优雅草卓伊凡
  • lua(xlua)基础知识点记录二
  • STM32上移植Lua解析器
  • Android15系统实现刷机防呆功能
  • 【JVM】深入理解 JVM 类加载器
  • MySQL如何解决事务并发的幻读问题
  • JVM 内存分配与垃圾回收策略
  • macOS 字体管理全攻略:如何查看已安装字体及常见字体格式区
  • 网络编程7.17
  • JAVA中的Collection集合及ArrayList,LinkedLIst,HashSet,TreeSet和其它实现类的常用方法