03【保姆级】-GO语言变量和数据类型和相互转换
03【保姆级】-GO语言变量和数据类型
- 一、变量
- 1.1 变量的定义:
- 1.2 变量的声明、初始化、赋值
- 1.3 变量使用的注意事项
- 插播-关于fmt.Printf格式打印%的作用
- 二、 变量的数据类型
- 2.1整数的基本类型
- 2.1.1 有符号类型 int8/16/32/64
- 2.1.2 无符号类型 int8/16/32/64
- 2.1.3 整型类型 int、uint、rune、byte
- 2.1.4 整型的使用细节
- 2.2 浮点类型
- 2.2.1 小数类型分类
- 2.3 字符类型
- 2.3.1 基本介绍
- 2.3.2 字符使用细节
- 2.4 布尔类型
- 2.4.1 基本概述
- 2.5 String类型
- 2.5.1 基本概述
- 2.5.2 String使用注意事项和细节
- 2.6 基本数据类型的默认值
- 2.7 基本数据类型的相互转换
- 2.8 转换的细节(重要)
- 2.9 基本数据类型转String(重要)
- 2.9.1 fmt.Sprintf("%参数", 变量名)
- 2.9.2 使用strconv包的函数
- 2.10 String类型转为基本类型
- 2.10.1 使用strconv包的函数
之前我学过C、Java、Python语言时总结的经验:
- 先建立整体框架,然后再去抠细节。
- 先Know how,然后know why。
- 先做出来,然后再去一点点研究,才会事半功倍。
- 适当的囫囵吞枣。因为死抠某个知识点很浪费时间的。
- 对于GO语言,切记遵守语法格式规则。(例如python语言、例如SpringBoot框架等)
解释:某些知识点,就是很难了解,那么先做出来,然后继续向前学习,可能在某个时间点我们就会恍然大悟。
一、变量
1.1 变量的定义:
- 任何高级程序语言写程序,变量都是程序的基本组成单位。
- 变量相当于内存中一个数据存储空间的表示,你可以把变量看做是一个房间的门牌号,通过门牌号我们可以找到房间,同样的道理,通过变量名可以访问到变量()
1.2 变量的声明、初始化、赋值
- 声明变量(定义变量)
基本语法: var 变量名 数据类型
var a int
- 变量赋值
在声明变量的时候,就给值
var a int = 1
var b = 300
- 使用变量
var a int
a = 100
例如下面的a/b/c都是变量
package mainimport "fmt"func main() {var a int //声明变量a = 10 //变量赋值b := 20 //变量赋值c := a + b //使用变量fmt.Println(a) // 10fmt.Println(b) // 20fmt.Println(c) // 30
}
1.3 变量使用的注意事项
- 变量表示内存中的一个存储区域
- 该区域有自己的名称(变量名)和类型(数据类型)
所有代码会用磁盘中读取到内存中,进行运行。
那么变量,例如a = 10 。那么就会存储到内存中。
-
Golang变量使用的三种方式
- 第一种:指定变量类型,声明后若不赋值,使用默认值。
int类型默认为0
String类型默认为空- 第二种:根据值自行判定变量类型(类型推导)
如果不指定类型,那么就会go语言类型推导。
var a = “abc” 在打印的时候就会输出string类型- 第三种省略var,注意:=左侧的变量不应该是已经声明过的,否则会导致编译错误
两种方式:(方式一的两句话,等价于方式二)
> var name1 string
name1 = “zhangsan1” //方式一
name2 := “zhangsan2” //方式二 -
多变量声明
在编程中,有时我们需要一次性声明多个变量,Golang也提供这样的语法
形式一:
var a, a1, a2, a3 int
a = 10
a1 = 20
a2 = 30
a3 = 40形式二:
var a1, a2, a3, name = 1, 2, 3, "zhangsan"fmt.Println(a1,a12,a23,a4)形式三:
a, b, c, d, name := 1, 2, 3, 4, "zhangsan"
fmt.Println(a,b,c,d,name)
关于全局变量:
var (a = 1b = 2c = 3d = 4name = "zhangsan"
)
func main() {fmt.Println(a, b, c, d, name)
}
- 该区域的数据值可以在同一类型范围内不断变化
- 变量在同一个作用域内不能重名
- 变量=变量名+值+数据类型,这一点请大家注意。
- Golang的变量如果没有赋初值,编译器会使用默认值,比如int默认值0 string默认值为空用
插播-关于fmt.Printf格式打印%的作用
参考的官网地址是:https://studygolang.com/pkgdoc
通用:
%v 值的默认格式表示
%+v 类似%v,但输出结构体时会添加字段名
%#v 值的Go语法表示
%T 值的类型的Go语法表示
%% 百分号布尔值:
%t 单词true或false整数:%b 表示为二进制
%c 该值对应的unicode码值
%d 表示为十进制
%o 表示为八进制
%q 该值对应的单引号括起来的go语法字符字面值,必要时会采用安全的转义表示
%x 表示为十六进制,使用a-f
%X 表示为十六进制,使用A-F
%U 表示为Unicode格式:U+1234,等价于"U+%04X"浮点数与复数的两个组分:%b 无小数部分、二进制指数的科学计数法,如-123456p-78;参见strconv.FormatFloat
%e 科学计数法,如-1234.456e+78
%E 科学计数法,如-1234.456E+78
%f 有小数部分但无指数部分,如123.456
%F 等价于%f
%g 根据实际情况采用%e或%f格式(以获得更简洁、准确的输出)
%G 根据实际情况采用%E或%F格式(以获得更简洁、准确的输出)字符串和[]byte:%s 直接输出字符串或者[]byte
%q 该值对应的双引号括起来的go语法字符串字面值,必要时会采用安全的转义表示
%x 每个字节用两字符十六进制数表示(使用a-f)
%X 每个字节用两字符十六进制数表示(使用A-F) 指针:%p 表示为十六进制,并加上前导的0x
二、 变量的数据类型

2.1整数的基本类型
简单的说,就是用于存放整数值的,比如 0,-1,2345 等等。
2.1.1 有符号类型 int8/16/32/64

** int8 范围是:-128 ~ 127**

2.1.2 无符号类型 int8/16/32/64
int 无符号类型:

2.1.3 整型类型 int、uint、rune、byte

2.1.4 整型的使用细节
- Golang 各整数类型分: 有符号和无符号,int uint 的大小和系统有关
- Golang 的整型默认声明为 int 型
- 如何在程序查看某个变量的字节大小和数据类型
import ("fmt"unsafe "unsafe"
)var n1 = 100fmt.Printf("n1 的类型是 %T ", n1) //n1 的类型是 intvar n2 int64 = 1fmt.Printf("n1 的数据类型是 %T, n2 占用的字节数是%d", n2, unsafe.Sizeof(n2))// n1 的数据类型是 int64, n2 占用的字节数是8
- olang 程序中整型变量在使用时,遵守保小不保大的原则,即:在保证程序正确运行下,尽量使用占用空间小的数据类型。[如: 年龄]
- bit: 计算机中的最小存储单位。byte:计算机中基本存储单元。[二进制再详细说] 1byte = 8 bit
2.2 浮点类型
Golang的浮点类型可以表示一个小数,比如1.2 / 3333.11 / 3232.324等等
2.2.1 小数类型分类

- 关于浮点数在机器中存放形式的简单说明.浮点数=符号位+指数位+尾数位说明: 浮点数都是有符号的.
- 如果使用float32 可能造成精度损失。
开发过程中,推荐使用float64。 并且默认也是float64 .
Golang浮点类型有固定的范围和字段类型,不受具体操作系统的影响。
- 浮点型的存储分为三个部分:符号位+指数位+尾数位。 在存储过程中,精度会有丢失
2.3 字符类型
2.3.1 基本介绍
Golang 中没有专门的字符类型,如果要存储单个字符(字母),一般使用 byte 来保存。
字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。也就是说对于传统的字符串是由字符组成的,而 Go 的字符串不同,它是由字节组成的。
- 如果我们保存的字符在 ASCII 表的,比如[0-1,a-z,A-Z.]直接可以保存到 byte2)
- 如果我们保存的字符对应码值大于 255,这时我们可以考虑使用 int 类型保存3)
- 如果我们需要安装字符的方式输出,这时我们需要格式化输出,即 fmt.Printfr“%c”,cl)…
var n2 int = '你'fmt.Printf("n2 的数据类型是 %T, n2 占用的字节数是%d. \n", n2, unsafe.Sizeof(n2))// n2 的数据类型是 int, n2 占用的字节数是8. var c3 int = '你'fmt.Printf("c3 = %c \n", c3) //c3 = 你 fmt.Printf("%c", c3) //你
2.3.2 字符使用细节

- 字符型 存储到 计算机中,需要将字符对应的码值 (整数) 找出来存储:字符—>对应码值---->二进制–>存储
读取:二进制----> 码值 ----> 字符 -> 读取 - 字符和码值的对应关系是通过字符编码表决定的(是规定好)
- Go 语言的编码都统一成了 utf-8。非常的方便,很统一,再也没有编码乱码的困扰了
2.4 布尔类型
2.4.1 基本概述
- 布尔类型也叫 bool类型,bool 类型数据只允许取值 true 和 false
- bool类型占1 个字节。
- bool 类型适于逻辑运算,一般用于程序流程控制
seg := truefmt.Printf("%T \n", seg) //boolfmt.Println("seg=", seg) //seg= trueif seg {fmt.Println("如果是true, 我就打印")} else {fmt.Println("如果是false, 我就打印")}
2.5 String类型
2.5.1 基本概述
字符串就是一串固定长度的字符连接起来的字符序列。Go 的字符串是由单个字节连接起来的。Go语言的字符串的字节使用 UTF-8 编码标识 Unicode 文本。
var name string = "今年张三,英文ZhangSan,23岁了。"fmt.Println(name)
2.5.2 String使用注意事项和细节
- Go语言的字符串的字节使用UTF-8编码标识Unicode文本,这样Golang统一使用Utf-8编码,中文乱码就不会出现了。
- 字符串一旦赋值后,字符串就不能单个字符修改了。在Go中字符串是不可变的。
var str = "hello"
str[0] = 'b' //这里就会报错了。字符串单个字符是不可变的。可以直接从新赋值:
str ="word"

3. 字符串的两种表示方式
1. 双引号,会识别转义字符
2. 反引号,以字符串的原生形式输出,包括换行和特殊字符,可以实现防止攻击、输出源代码等效果。

4. 字符串拼接方式
str := "hello "name := "zhangsan"strName := str + namefmt.Println(strName) //hello zhangsan
- 当一行字符串太长时,需要使用多行字符串,可以用“” + 进行绑定。 重点是:+ 号必须保持在上一行中。
str := "lisi " + "wangwu " + " zhaoliu " + " a" +" b" + "c " +"D"fmt.Println(str) //lisi wangwu zhaoliu a bc D
2.6 基本数据类型的默认值
在Go中,数据类型都有一个默认值,当没有赋值时,就会保留默认值,在Go中,默认值又叫“零值”

2.7 基本数据类型的相互转换
Golang和java、C不同,在Go语言中,不同类型的变量之间赋值时需要显式转换。 也就是说Golang中数据类型不能自动转换。
基本语法:
- 表达式T(v) 将值 v 转换为类型T
- T:就是数据类型,比如:int32 , int64 ,float32, float64等
- V:就是需要转换的变量
var n1 int = 100
var n2 float64 = float64(n1)
n2 += 0.905
var n3 int = int(n2)
fmt.Printf("n1=%v, n2=%v, n3=%v", n1, n2, n3)
// n1=100, n2=100.905, n3=100
2.8 转换的细节(重要)
- 在Go中,数据类型的转换可以是从 小范围 转换到 大范围。也可以从 大范围 转换成 小范围。
- 被转换的是变量存储的数据(既值) ,变量本身的数据类型并没有变化。
例如:
我们将 n1 float =1.23 转换成 n2 int = 100
那么分别打印 n1 =1.23. 打印n2 =100
var n1 float64 = 1.23
var n2 int = int(n1)
fmt.Printf(“n1=%v, n2=%v”, n1, n2)
// 打印结果:n1=1.23, n2=1
- 在转换结果中,比如将Int64转换成int8 ,编译时不会报错 ,只是转换的结果是按溢出处理,和我们希望的结果不一样。
var n1 int64 = 999999
var n2 int8 = int8(n1)
fmt.Printf("n1=%v, n2=%v", n1, n2)
// n1=999999, n2=63
2.9 基本数据类型转String(重要)
在程序开发中,我们经常需要将基本数据类型转成String类型。
或者String类型转换成基本数据类型。
2.9.1 fmt.Sprintf(“%参数”, 变量名)
方式一: fmt.Sprintf(“%参数", 表达式)
- 参数需要和表达式的数据类型相匹配
- fmt.Sprintf() 会返回转换后的字符串
package mainimport "fmt"func main() {var n1 int = 123var n2 float64 = 1.23var n3 byte = 'a'var n4 bool = truevar str string// %T 的意思是:该变量的类型// %q 的意思是:打印变量的类型,并且用双引号,引起来。str = fmt.Sprintf("%d", n1)fmt.Printf("str的类型是:%T, Str等于%q\n", str, str)str = fmt.Sprintf("%f", n2)fmt.Printf("str的类型是%T,str等于:%q \n", str, str)str = fmt.Sprintf("%c", n3)fmt.Printf("str的类型是:%T,str等于%q \n", str, str)str = fmt.Sprintf("%t", n4)fmt.Printf("str的类型是%T,str等于%q \n", str, str)
}
str的类型是string, Str等于"123"
str的类型是string, str等于:"1.230000"
str的类型是:string str等于"a"
str的类型是string, str等于"true"
2.9.2 使用strconv包的函数
方式二:使用strconv包的函数
3. func FomatBool(b lool) String
4. func FomatInt(i int64, base int ) String
var num1 int = 123var num2 float64 = 1.234var num3 bool = truevar str stringfmt.Printf("num1的类型是:%T \n", num1)str = strconv.FormatInt(int64(num1), 10)fmt.Printf("str的类型是:%T,str的值是:%q \n", str, str)//要转换的变量,//'f':格式是:ddd.dddd。 一般使用的比较多//精度(小数点后面几位),该float的位数,例如64/32str = strconv.FormatFloat(num2, 'f', 2, 64)fmt.Printf("str的类型是:%T,str的值是%q \n", str, str)str = strconv.FormatBool(num3)fmt.Sprintf("str的类型是:%T,str的值是%q", str, str)num1的类型是:int
str的类型是:string,str的值是:"123"
str的类型是:string,str的值是"1.23" Itoa 将int类型转为String类型:
var num1 int = 100var str string = strconv.Itoa(num1)fmt.Printf(str)
关于strconv.FormatFloat的参数说明:

2.10 String类型转为基本类型
2.10.1 使用strconv包的函数
func ParseBool
func ParseBool(str string) (value bool, err error)
返回字符串表示的bool值。它接受1、0、t、f、T、F、true、false、True、False、TRUE、FALSE;否则返回错误。
var str string = "true"var err errorvar b boolb, err = strconv.ParseBool(str)fmt.Printf("b的类型是 %T,b的值是%v,b的错误结果是:%v \n", b, b, err)
func ParseInt
func ParseInt(s string, base int, bitSize int) (i int64, err error)
返回字符串表示的整数值,接受正负号。
base指定进制(2到36),如果base为0,则会从字符串前置判断,"0x"是16进制,"0"是8进制,否则是10进制;
bitSize指定结果必须能无溢出赋值的整数类型,0、8、16、32、64 分别代表 int、int8、int16、int32、int64;返回的err是*NumErr类型的,如果语法有误,err.Error = ErrSyntax;如果结果超出类型范围err.Error = ErrRange。
var str string = "123"var i int64// 要转的字符串,base:转成10进制,bitSize:转成64位i, _ = strconv.ParseInt(str, 10, 0)fmt.Printf("i的格式是:%T, i的值是:%v", i, i)// i的格式是:int64, i的值是:123
- func ParseFloat
func ParseFloat(s string, bitSize int) (f float64, err error)
解析一个表示浮点数的字符串并返回其值。
如果s合乎语法规则,函数会返回最为接近s表示值的一个浮点数(使用IEEE754规范舍入)。bitSize指定了期望的接收类型,32是float32(返回值可以不改变精确值的赋值给float32),64是float64;返回值err是*NumErr类型的,语法有误的,err.Error=ErrSyntax;结果超出表示范围的,返回值f为±Inf,err.Error= ErrRange。
var str string = "1.2345"var f float64f, _ = strconv.ParseFloat(str, 64)fmt.Printf("f的类型是%T, f的值是:%v", f, f)// f的类型是float64, f的值是:1.2345
相关文章:
03【保姆级】-GO语言变量和数据类型和相互转换
03【保姆级】-GO语言变量和数据类型 一、变量1.1 变量的定义:1.2 变量的声明、初始化、赋值1.3 变量使用的注意事项 插播-关于fmt.Printf格式打印%的作用二、 变量的数据类型2.1整数的基本类型2.1.1 有符号类型 int8/16/32/642.1.2 无符号类型 int8/16/32/642.1.3 整…...
mermaid学习第一天/更改主题颜色和边框颜色/《需求解释流程图》
mermaid 在线官网: https://mermaid-js.github.io/ 在线学习文件: https://mermaid.js.org/syntax/quadrantChart.html 1、今天主要是想做需求解释的流程图,又不想自己画,就用了,框框不能直接进行全局配置࿰…...
SAP MASS增加PR字段-删除标识
MASS->BUS2105->发现没有找到PR删除标识字段 SAP MASS增加PR字段-删除标识 1.tcode:MASSOBJ 选中BUS2105 点“应用程序表” 点“字段列表” 2.选中一行进行参考 3.修改字段为删除标识 LOEKZ,保存即可。 4.然后MASS操作,批量设置删除标识&…...
【手把手教你】训练YOLOv8分割模型
1.下载文件 在github上下载YOLOV8模型的文件,搜索yolov8,star最多这个就是 2. 准备环境 环境要求python>3.8,PyTorch>1.8,自行安装ptyorch环境即可 2. 制作数据集 制作数据集,需要使用labelme这个包&#…...
物料主数据增强屏幕绘制器DUMP
问题描述 在做完物料主数据增强后,配置和代码传Q,在Q进入增强屏幕绘制器报错。 错误 CALLBACK_REJECTED_BY_WHITELIST RFC callback call rejected by positive list An RFC callback has been prevented due to no corresponding positive list en…...
vue 实现在线预览Excel-LuckyExcel/LuckySheet实现方案
一、准备工作 1. npm安装 luckyexcel npm i -D luckyexcel 2.引入luckysheet 注意:引入luckysheet,只能通过CDN或者直接引入静态资源的形式,不能npm install。 个人建议直接下载资源引入。我给你们提供一个下载资源的地址: …...
AIGPT重大升级,界面重新设计,功能更加饱满,用户体验升级
AIGPT AIGPT是一款功能强大的人工智能技术处理软件,不但拥有其他模型处理文本认知的能力还有AI绘画模型、拥有自身的插件库。 我们都知道使用ChatGPT是需要账号以及使用魔法的,实现其中的某一项对我们一般的初学者来说都是一次巨大的挑战,但…...
Web逆向-mtgsig1.2简单分析
{"a1": "1.2", # 加密版本"a2": new Date().valueOf() - serverTimeDiff, # 加密过程中用到的时间戳. 这次服主变坏了, 时间戳需要减去一个 serverTimeDiff(见a3) ! "a3": "这是把xxx信息加密后提交给服务器, 服主…...
【蓝桥杯省赛真题41】Scratch电脑开关机 蓝桥杯少儿编程scratch图形化编程 蓝桥杯省赛真题讲解
目录 scratch电脑开关机 一、题目要求 编程实现 二、案例分析 1、角色分析...
第10章 Java常用类
目录 内容说明 章节内容 一、Object类 二、String类和StringBuffer类 三、Math类和Random类...
Android 11 getPackageManager().getPackageInfo 返回null
Android11 之后, 在查找用户手机是否有安装app,进行查询包名是否存在时,getPackageManager().getPackageInfo()这个函数一直返回null ,Android 11增加了权限要求。 1、只是查询指定的App 包 只需要在Andro…...
4、数据结构
数据结构01 数值处理 取整 日常用的四种 / 整数除法,截取整数部分math.Ceil 向上取整 “理解为天花板,向上取值”math.Floor 向下取整 “理解为地板,向下取值”math.Round 四舍五入 / 整数除法,截取整数部分 func main() { f…...
qt5.15.2+vs2019源码调试开发环境搭建
说明 一些qt文件不进行源码调试无法知道其中的原理。提高软件质量,从概念原理及应用角度看待必须知道qt类运行原理。 1.安装 在网上找到qt安装包qt-unified-windows-x64-4.5.1-online.exe,安装qt5.15.2,有选择Qt Debug Information Files …...
【数据结构】单链表之--无头单向非循环链表
前言:前面我们学习了动态顺序表并且模拟了它的实现,今天我们来进一步学习,来学习单链表!一起加油各位,后面的路只会越来越难走需要我们一步一个脚印! 💖 博主CSDN主页:卫卫卫的个人主页 &#x…...
网络中使用最多的图片格式有哪些
互联网中的图片格式五花八门吧,我常常分不清各种格式的使用场景和区别,有些常见的格式和很少见的,在此总结。 常见格式 常见的图片格式,有 JPEG、PNG、GIF、BMP、WebP、SVG、TIFF、ICO等, 少见的比如:HD…...
个人常用Linux命令
来自 linux命令学习-2023-8-1 153913.md等 1、切换目录 cd //切换目录 cd change directory cd 目录名 cd .. 返回上一级目录 pwd显示当前所处目录cd 绝对路径 cd ~ 表示一个用户的home目录 cd - 表示上一次访问的目录 cd / 表示进入根目录下//新建目录/data,并且进入/data…...
数据结构——常见简答题汇总
目录 1、绪论 2、线性表 3、栈、队列和数组 4、串 5、树与二叉树 6、图 7、查找 8、排序 1、绪论 什么是数据结构? 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。数据结构包括三个方面:逻辑结构、存储结构、数据的运算。 逻辑结…...
josef约瑟低电压继电器 DY-110 10-109V 辅助电源·DC110V 嵌入式面板安装
DY-110/110V电压继电器 系列型号 DY-110电压继电器;GY-110电压继电器; GDY-110电压继电器;DY-110/AC电压继电器; GY-110/AC电压继电器;GDY-110/AC电压继电器; DL-110电压继电器;GL-110电压…...
Visual Studio Code将中文写入变量时,中文老是乱码问题
对于这个问题,我也是弄了很久才知道,编码格式的问题 在此之前我们要先下载个插件 照这以上步骤,最后按F6运行即可,按F6是利用我们刚刚下载的插件进行编译,唯一有一点不好就是,用这种插件运行的话ÿ…...
各省市30米分辨率DEM数据,推荐下载!
今天给大家推荐一个新数据 —— 各省市30米分辨率DEM数据! 各省市30米分辨率DEM数据广泛应用于国土资源调查、水利水电工程、地质灾害预警、城市规划等领域,对于了解区域内的地形地貌、地形分析、土地利用等具有非常重要的意义。 网站搜索“citybox城市…...
使用VSCode开发Django指南
使用VSCode开发Django指南 一、概述 Django 是一个高级 Python 框架,专为快速、安全和可扩展的 Web 开发而设计。Django 包含对 URL 路由、页面模板和数据处理的丰富支持。 本文将创建一个简单的 Django 应用,其中包含三个使用通用基本模板的页面。在此…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
【网络安全产品大调研系列】2. 体验漏洞扫描
前言 2023 年漏洞扫描服务市场规模预计为 3.06(十亿美元)。漏洞扫描服务市场行业预计将从 2024 年的 3.48(十亿美元)增长到 2032 年的 9.54(十亿美元)。预测期内漏洞扫描服务市场 CAGR(增长率&…...
2024年赣州旅游投资集团社会招聘笔试真
2024年赣州旅游投资集团社会招聘笔试真 题 ( 满 分 1 0 0 分 时 间 1 2 0 分 钟 ) 一、单选题(每题只有一个正确答案,答错、不答或多答均不得分) 1.纪要的特点不包括()。 A.概括重点 B.指导传达 C. 客观纪实 D.有言必录 【答案】: D 2.1864年,()预言了电磁波的存在,并指出…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
安卓基础(aar)
重新设置java21的环境,临时设置 $env:JAVA_HOME "D:\Android Studio\jbr" 查看当前环境变量 JAVA_HOME 的值 echo $env:JAVA_HOME 构建ARR文件 ./gradlew :private-lib:assembleRelease 目录是这样的: MyApp/ ├── app/ …...
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...
Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...
Java 与 MySQL 性能优化:MySQL 慢 SQL 诊断与分析方法详解
文章目录 一、开启慢查询日志,定位耗时SQL1.1 查看慢查询日志是否开启1.2 临时开启慢查询日志1.3 永久开启慢查询日志1.4 分析慢查询日志 二、使用EXPLAIN分析SQL执行计划2.1 EXPLAIN的基本使用2.2 EXPLAIN分析案例2.3 根据EXPLAIN结果优化SQL 三、使用SHOW PROFILE…...

