Golang的数据类型及数据类型间转换整理

news2024/11/26 4:29:11

Golang 更明确的数字类型命名,支持 Unicode,支持常用数据结构。

  Go 语言中数据类型分为: 基本数据类型 复合数据类型
  基本数据类型有:整型、浮点型、布尔型、字符串
复合数据类型有: 数组、切片、结构体、函数、map、通道(channel)、接口。  
类型长度(字节)默认值说明
bool1false
byte10uint8
rune40Unicode Code Point, int32
int, uint4或8032 或 64 位
int8, uint810-128 ~ 127, 0 ~ 255,byte是uint8 的别名
int16, uint1620-32768 ~ 32767, 0 ~ 65535
int32, uint3240-21亿~ 21亿, 0 ~ 42亿,rune是int32 的别名
int64, uint6480
float3240.0
float6480.0
complex648
complex12816
uintptr4或8以存储指针的 uint32 或 uint64 整数
array值类型
struct值类型
string“”UTF-8 字符串
slicenil引用类型
mapnil引用类型
channelnil引用类型
interfacenil接口
functionnil函数

基本数据类型

整型

整型分为以下两个大类:

按长度分为:int8int16int32int64

对应的无符号整型:uint8uint16uint32uint64

8bit(位)=1Byte(字节) 1024Byte(字节)=1KB 1024KB=1MB 1024MB=1GB 1024GB=1TB 。在电脑里一个中文字是占两个字节的。

注意: 在使用 int uint 类型时,不能假定它是 32 位或 64 位的整型,而是考虑 int uint可能在不同平台上的差异。
注意事项: 实际项目中整数类型、切片、 map 的元素数量等都可以用 int 来表示。
在涉及 到二进制传输、为了保持文件的结构不会受到不同编译目标平台字节长度的影响,不要使 int uint

而且注意类型范围~(避免出现如下报错)

package main
import ( 
    "fmt"
)
func main() {
    var num int64
    num = 123
fmt.Printf("值:%v 类型%T", num, num)
}

unsafe.Sizeof

unsafe.Sizeof(num) unsafe 包的一个函数,可以返回 num 变量 占用的字节数
package main
import ( 
    "fmt"
    "unsafe"
)
func main() {
    var a int8 = 120
    fmt.Printf("%T\n", a)
    fmt.Println(unsafe.Sizeof(a))
}

package main

import (
	"fmt"
	"unsafe"
)

func main() {
	var (
		num int8 = 122
		num01 int16 = 20000
		num02 int16 = -30000
		num03 uint8 = 12
	)
	fmt.Printf("num的值为%v,类型为%T\n",num,num)
	fmt.Printf("num01的值为%v,类型为%T\n",num01,num01)
	fmt.Printf("num02的值为%v,类型为%T\n",num02,num02)
	fmt.Printf("num03的值为%v,类型为%T\n",num03,num03)
	fmt.Println("占用字节为",unsafe.Sizeof(num))
	fmt.Println(unsafe.Sizeof(num01))
	fmt.Println(unsafe.Sizeof(num02))
	fmt.Println(unsafe.Sizeof(num03))

}

int 不同长度直接的转换

注意:int类型不一致的无法进行运算(且高转低的时候要注意范围,可能不在范围内,且符号喝非符号字段也要注意

package main

import (
	"fmt"
	// "unsafe"
)

func main() {
	var (
		a int8 = 18
		b int16 = 2000
		
	)
	fmt.Println(int16(a)+b)
}

数字字面量语法

Go1.13 版本之后引入了数字字面量语法,这样便于开发者以二进制、八进制或十六进制浮
点数的格式定义数字。
例如:

v := 0b00101101, 代表二进制的 101101,相当于十进制的 45

v := 0o377,代表八进制的377,相当于十进制的 255

v := 0x1p-2,代表十六进制的 1 除以 ,也就是 0.25。 而且还允许我们用 _ 来分隔数字,比如说: v := 123_456 等于 123456

package main
import "fmt"
func main(){
    // 十进制
    var a int
    a = 10
    fmt.Printf("%d \n", a) // 10
    fmt.Printf("%b \n", a) // 1010 占位符%b 表示二进制
// 八进制 以 0 开头
    var b int
    b = 077
    fmt.Printf("%o \n", b) // 77
// 十六进制 以 0x 开头
    var c int
    c = 0xff
    fmt.Printf("%x \n", c) // ff
    fmt.Printf("%X \n", c) // FF
    fmt.Printf("%d \n", c) // 255
}

浮点型

注意:

底层存储空间和操作系统无关
浮点类型底层存储:符号位+指数位+尾数位,所以尾数位只是存了 一个大概,很可能会出现精度的损失。 

Go语言支持两种浮点型数:float32float64

package main
import "fmt"
func main(){
        //定义浮点类型的数据:
        var num1 float32 = 3.14
        fmt.Println(num1)
        //可以表示正浮点数,也可以表示负的浮点数
        var num2 float32 = -3.14
        fmt.Println(num2)
        //浮点数可以用十进制表示形式,也可以用科学计数法表示形式  E 大写小写都可以的
        var num3 float32 = 314E-2 
        fmt.Println(num3)
        var num4 float32 = 314E+2
        fmt.Println(num4)
        var num5 float32 = 314e+2
        fmt.Println(num5)
        var num6 float64 = 314e+2
        fmt.Println(num6)

这两种浮点型数据格式遵循IEEE 754标准:

 float32 的浮点数的最大范围约为3.4e38,可以使用常量定义math.MaxFloat32

 float64 的浮点数的最大范围约为 1.8e308,可以使用一个常量定义:math.MaxFloat64

打印浮点数时,可以使用 fmt 包配合动词 %f ,代码如下:
浮点型数据搭配%f占位符:%f默认为保持6个小数
%f的其他作用:类似python的占位写法(m.n%f)表示保留m个数目,.n表示小数点后留几位
package main

import (
	"fmt"
	"unsafe"
)

func main() {
	flot := 2.14
	fmt.Printf("%f\n", flot)   //默认保留 6 位小数
	fmt.Printf("%3.2f\n", flot) //保留 2 位小数
	

	var a float32 = 3.14
	fmt.Printf("值为%v--%f,类型%T\n", a, a, a) //3.14--3.140000,类型float32
	fmt.Println(unsafe.Sizeof(a))   //占4个字节

	var b float64 = 2.13
	fmt.Printf("值为%v--%f,类型%T\n", b, b, b) //值:2.13--2.130000,类型float64
	fmt.Println(unsafe.Sizeof(b))     //占8个字节

 64位的系统中 浮点数默认是 float64

package main

import (
	"fmt"
	// "unsafe"
)

func main() {
	
	tes1 := 3.1345656456 	// 64位的系统中 浮点数默认是 float64

	fmt.Printf("%f--%T", tes1, tes1)

 Golang 科学计数法表示浮点类型

package main

import (
	"fmt"
	// "unsafe"
)

func main() {
	var f2 float32 = 3.14e2 //表示f2等于3.14*10的2次方
	fmt.Printf("%v--%T\n", f2, f2)

	var f3 float32 = 3.14e-2 //表示f3等于3.14除以10的2次方
	fmt.Printf("%v--%T\n", f3, f3)

Golang 中 float 精度丢失问题

几乎所有的编程语言都有精度丢失这个问题,这是典型的二进制浮点数精度损失问题,在定
长条件下,二进制小数和十进制小数互转可能有精度丢失。
package main

import (
	"fmt"
	// "unsafe"
)

func main() {
	
	var num1 float64 = 1129.6
	fmt.Println(num1 * 100) 
	num2 := 8.2
	num3 := 3.8
	fmt.Println(num2 - num3)

例如num1期望输出为112960,num2-num3期望输出4.4 ,但是实际结果为:

int类型转换成float类型 

package main

import (
	"fmt"
	// "unsafe"
)

func main() {
	
	a := 10
	b := float64(a)
	fmt.Printf("a的类型是%T,b的类型是%T\n", a, b)

	var a1 float32 = 23.4
	a2 := float64(a1)
	fmt.Printf("a1的类型是%T,a2的类型是%T\n", a1, a2)

不建议float类型转换成int类型 

	var c1 float32 = 23.45

	c2 := int(c1)

	fmt.Printf("c2的值:%v  c2的类型:%T", c2, c2)

 可以实现,但是会缺失数据


布尔值

Go 语言中以 bool 类型进行声明布尔型数据,布尔型数据只有 true (真)和 false (假)两个
值。
注意:
1. 布尔类型变量的 默认值为 false
2. Go 语言中不允许将整型强制转换为布尔型。
3. 布尔型无法参与数值运算,也无法与其他类型进行转换
var flag bool = true
        fmt.Println(flag)
        var flag01 bool = false
        fmt.Println(flag01)
        var flag02 bool = 3 < 9
        fmt.Println(flag02)

package main

import (
	"fmt"
	// "unsafe"
)

func main() {
	

	
	var flag = true

	fmt.Printf("%v--%T\n", flag, flag)

	// 1.布尔类型变量的默认值为false。
	var b bool
	fmt.Printf("%v\n", b)

	// 2.string型变量的默认值为空。

	var s string
	fmt.Printf("%v\n", s)

	// 3.int型变量的默认值为0。

	var i int
	fmt.Printf("%v\n", i)

	// 4.float型变量的默认值为0。

	var f float32
	fmt.Printf("%v\n", f)

 string型变量的默认值为空;int和float型变量的默认值为0

 

 Go 语言中不允许将整型强制转换为布尔型,且布尔型无法参与数值运算,也无法与其他类型进行转换,比如下面的错误写法:

package main

import (
	"fmt"
	// "unsafe"
)

func main() {
	
	var a = 2
	if a { 	
		fmt.Printf("true")
	}

	

	var s = "this is str"
	if s { 
		fmt.Printf("true")
	}

	var f1 = false
	if f1 { //正确写法
		fmt.Printf("true")
	} else {
		fmt.Printf("false")
	}


 字符串

字符串的值为双引号(") 中的内容;
Go 语言中的字符串以原生数据类型出现,使用字符串就像使用其他原生数据类型(int、 bool
float32 float64 等)一样。
Go 语言里的字符串的内部实现使用 UTF-8 编码。

字符串转义符

Go 语言的字符串常见转义符包含回车、换行、单双引号、制表符等,如下表所示。

转义含义
\r回车符(返回行首)
\n换行符(直接跳到下一行的同列位置)
\t制表符
'单引号
"双引号
\反斜杠

 1、定义string类型,1个汉字是3个字节

	var str1 string = "你好golang"
	var str2 = "你好 卫宫士郎"
	str3 := "你好golang"

	fmt.Printf("%v--%T\n", str1, str1)
	fmt.Printf("%v--%T\n", str2, str2)
	fmt.Printf("%v--%T\n", str3, str3)

	str4 := "卫宫士郎"
	str5 := "sabar"
	str6 := str4 + str5
	fmt.Printf("字符串为%v,其类型为%T",str6,str6)

 2、字符串转义符

package main

import (
	_ "strings"
	"fmt"
	// "unsafe"
)

func main() {
	

	//2、字符串转义符

	fate := "Steel is my body \nand fire is my blood"
	fmt.Println(fate)

	str1 := "I am the bone of my sword"
	fmt.Println(str1)
	str2 := "C:\\卫宫士郎\\sabar" 
	fmt.Println(str2)
	// 其实就是去除原本的意思

 3、多行字符串

	sabar := `
I have created over a thousand blades
Unknown to Death
Nor known to Life
Have withstood pain to create many weapons
	`
	fmt.Println(sabar)

 4、len(str) 求长度

	servant := "I have created over a thousand blades"
	fmt.Println(len(servant))

 5、+ 或者 fmt.Sprintf拼接字符串

	str1 := "反引号间换行将被作为字符串中的换" +
		"文本将会原样输出" +
		"行,但是所有的转义字符均无效"
	fmt.Println(str1)

	// rider := "吾为所持剑之骨\n"
	// archer := "此身为剑之骨\n"
	// str := rider + archer
	// str1 := fmt.Sprintf("%v,%v",rider,archer)
	// fmt.Println(str)
	// fmt.Println(str1)

	str2 := `
	I am the bone of my sword
	Steel is my body,and fire is my blood
	`
	fmt.Println(str2)

6、strings.Split 分割字符串  strings需要引入strings包

package main

import (
	"strings"
	"fmt"
	// "unsafe"
)

func main() {
	

	lancer := "Have withstood pain to create many weapons"
	str7 := strings.Split(lancer," ")
	fmt.Println(str7) 
	//简单的理解切片就是数组  在golang中切片和数组还有一些区别

 

7、strings.Join(a[]string, sep string) join 操作  表示把切片链接成字符串


	lancer := "Have withstood pain to create many weapons"
	str7 := strings.Split(lancer," ")
	str8 := strings.Join(str7,"--")
	fmt.Print(str8)

	fmt.Print("\n--------------------\n")

	str01 := []string{"archer", "sabar", "golang"}
	str03 := strings.Join(str01,"-")
	fmt.Println(str03)

 8、 strings.contains 判断是否包含

	lancer := "Have withstood pain to create many weapons"
	str04 := "pain"
	flag := strings.Contains(lancer,str04)
	fmt.Print(flag)

9、strings.HasPrefix,strings.HasSuffix 前缀/后缀判断

	lancer := "Have withstood pain to create many weapons"
	str04 := "Have"
	flag01 := strings.HasPrefix(lancer,str04)
	fmt.Println(flag01)

	sabar := "this is archer"
	str05 := "archer"
	flag02 := strings.HasSuffix(sabar,str05)
	fmt.Println(flag02)

10、 strings.Index(),strings.LastIndex() 子串出现的位置  

查找不到返回-1 查找到正向返回下标位置 下标是从0开始的 


	rider := "this is a"
	str04 := "t"
	num := strings.Index(rider,str04)
	fmt.Println(num)

	fmt.Print("\n--------------------\n")

	baskets := "this is a"
	str05 := "is"  //0 1 2 找到了返回位置
	num01 := strings.Index(baskets,str05)
	fmt.Print(num01)

	fmt.Print("\n--------------------\n")

	baskets01 := "this is a"
	str06 := "is"  //从后往前找到的是中间的is,然后正向坐标位置数为5
	num02 := strings.LastIndex(baskets01,str06)
	fmt.Print(num02)

	fmt.Print("\n--------------------\n")

	baskets02 := "this is a"
	str07 := "lancer"  //找不到位置为-1
	num03 := strings.Index(baskets02,str07)
	fmt.Print(num03)


byte rune 类型

组成每个字符串的元素叫做“字符”,可以通过遍历或者单个获取字符串元素获得字符。 字符用单引号(’)包裹起来,如:

var a := '中'

var b := 'x'

Go 语言的字符有以下两种:

    uint8类型,或者叫 byte 型,代表了ASCII码的一个字符。

    rune类型,代表一个 UTF-8字符。

当需要处理中文、日文或者其他复合字符时,则需要用到rune类型。

rune类型实际是一个int32
Go 使用了特殊的 rune 类型来处理 Unicode,让基于 Unicode的文本处理更为方便,也可以使用 byte 型进行默认字符串处理,性能和扩展性都有照顾。

字节( byte :是计算机中 数据处理 的基本单位,习惯上用大写 B 来表示 ,1B (byte,字节) = 8bit(位)
字符 :是指计算机中使用的字母、数字、字和符号

1、golang中定义字符  字符属于int类型

	a := 'a'
	fmt.Printf("对应的ascll码值为%v,类型为%T,值为%c",a,a,a)
	//当我们直接输出 byte(字符)的时候输出的是这个字符对应的码值

2、定义一个字符串输出字符串里面的字符

	str := "tomshebly"
	fmt.Printf("对应的ascll码值为%v,类型为%T,值为%c",str[1],str[1],str[1])

3 查看存储空间

 unsafe.Sizeof() 没法查看string类型数据所占用的存储空间

	str := "tomshebly"
	fmt.Println("占用字节为",len(str))

	str0 := "汤"
	fmt.Println("占用字节为",len(str0))

一个汉字占用3个字节,而一个字母占用一个字节 

4、定义一个字符 字符的值是汉字

golang中汉子使用的是utf8编码 编码后的值就是int类型

ascll转unicode编码10进制

str1 := '姆'
	fmt.Printf("对应的ascll值为%v,类型为%T,原值为%c",str1,str1,str1)

 

在线 Unicode 编码转换 | 菜鸟工具 (runoob.com)

5、通过循环输出字符串里面的字符 

str := "卫宫士郎sabar"

	for i := 0 ; i < len(str);i++{
		fmt.Printf("值为%v,类型为%T\n",str[i],str[i]) 
	} 
	// 注意这个地方,一个汉字占用3个字节,而一个字母占用一个字节,如果连带汉字的字符串要正常输出需要使用range

	str := "卫宫士郎sabar"

	for _ , s := range str{
		fmt.Printf("值为%v,类型为%T,原值为%c\n",s,s,s) 
	} 

因为 UTF8 编码下一个中文汉字由 3 个字节组成,所以我们不能简单的按照字节去遍历一个
包含中文的字符串,否则就会出现上面输出中第一行的结果。
字符串底层是一个 byte 数组,所以可以和 []byte 类型相互转换。字符串是不能修改的 字符
串是由 byte 字节组成,所以字符串的长度是 byte 字节的长度。 rune 类型用来表示 utf8
符,一个 rune 字符由一个或多个 byte 组成。

 6、修改字符串,要修改字符串,需要先将其转换成[]rune 或[]byte,完成后再转换为 string。

	str01 := "卫宫士郎"
	changstr :=[]rune(str01)
	changstr[0] = '本'
	fmt.Println(string(changstr))
	
	str02 := "tomsher"
	changstr0 := []byte(str02)
	changstr0[0] = 'L'
	fmt.Println(string(changstr0))


golang 中的数据类型转换

Go 语言中只有强制类型转换,没有隐式类型转换
注意:转换的时候建议从 低位转换成高位,高位转换成低位的时候如果转换不成功就会溢出,和我们想的结果不一样。

数值类型之间的相互转换

数值类型包括 :整形和浮点型

 1、整型和整型之间的转换

类型不同,不能相互加减

 2、浮点型和浮点型之间的转换

	var a float32 = 20
	var b float64 = 40
	fmt.Println(float64(a) + b)

 3、整型和浮点型之间的转换(建议整型转换为浮点型,浮点型别转整形)

	var a float32 = 20.23
	var b int = 40
	fmt.Println(a + float32(b))

其他类型转换成 String 类型

1sprintf 把其他类型转换成 string 类型

注意:sprintf 使用中需要注意转换的格式
int 为%d
float 为%f
bool 为%t
byte 为%c
		var i int = 8
		var f float64 = 13.1415926
		var t bool = true
		var b byte = 'a'

		str1 := fmt.Sprintf("%d", i)
		fmt.Printf("值:%v 类型:%T\n", str1, str1)

		str2 := fmt.Sprintf("%.2f", f)
		fmt.Printf("值:%v 类型:%T\n", str2, str2)

		str3 := fmt.Sprintf("%t", t)
		fmt.Printf("值:%v 类型:%T\n", str3, str3)

		str4 := fmt.Sprintf("%c", b)
		fmt.Printf("值:%v 类型:%T\n", str4, str4)

 2、通过strconv  把其他类型转换成string类型

 1、intstring

	var a int = 10
	str := strconv.FormatInt(int64(a),10)	
	fmt.Printf("值为%v 类型为%T\n", str, str)

 参数解释:

        FormatInt

        参数1:int64 的数值

        参数2:传值int类型的进制

 2float string(有四个参数需要添加)

        参数 1:要转换的值

        参数 2:格式化类型 'f'(-ddd.dddd)、

             'b'(-ddddp±ddd,指数为二进制)、

             'e'(-d.dddde±dd,十进制指数)、

             'E'(-d.ddddE±dd,十进制指数)、

             'g'(指数很大时用'e'格式,否则'f'格式)、

             'G'(指数很大时用'E'格式,否则'f'格式)。

         参数 3: 保留的小数点 -1(不对小数点格式化)

         参数 4:格式化的类型 传入 64  32

	var flot float32 = 13.1415926
	str01 := strconv.FormatFloat(float64(flot),'f',4,32)
	fmt.Printf("输出的值为%v,类型为%T",str01,str01)

 

3bool 转 string和int64 string没有意义

int64 string(第二个参数为 进制 )

	str3 := strconv.FormatBool(true) //没有任何意义
	fmt.Printf("值:%v 类型:%T\n", str3, str3)

	a := 'b' //没有任何意义
	str4 := strconv.FormatUint(uint64(a), 10)
	fmt.Printf("值:%v 类型:%T\n", str4, str4) //值:98 类型:string

String 类型转换成数值类型

1、string类型转换成整型(int)

这里需要注意:

 string转int类型时候,会返回两个值

一个是转换后的int,一个是err报错(转换失败);

这里我们采取省略_下划线来搞

ParseInt

        参数1:string数据

        参数2:进制

        参数3:位数 32 64 16

	str := "123456"
	num, _ := strconv.ParseInt(str, 10, 64)
	fmt.Printf("%v--%T", num, num)

 2string 类型转换成 float 类型

ParseFloat

        参数1:string数据

        参数2:位数 32 64

 这是错误写法:

	str := "1.131413asda"
	num, _ := strconv.ParseFloat(str, 64)
	fmt.Printf("%v--%T", num, num)

 

	str := "123456.333"
	num, _ := strconv.ParseFloat(str, 64)
	fmt.Printf("%v--%T", num, num)

 3string 类型转换成 bool 类型(没意义)

b, _ := strconv.ParseBool("true") // string 转 bool
fmt.Printf("值:%v 类型:%T", b, b)
 
注意:在 go 语言中数值类型没法直接转换成 bool 类型 bool 类型也没法直接转换成数值类型

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/722642.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【QT】——定时器QTimer的使用

目录 常见的函数 构造函数 获取/设置定时器间隔时间 启动/停止定时器 信号 设置定时器的时间的两种方法 设置定时器精度 其他函数 静态函数 实例 QTimer是QT框架中的定时器类型&#xff0c;它的使用方法如下&#xff1a; 定义一个调用QTimer对象&#xff0c;调用st…

华为OD机试真题 Python 实现【找出通过车辆最多颜色】【2023Q1 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、解题思路五、Python算法源码六、效果展示1、输入2、输出3、说明 一、题目描述 在一个狭小的路口&#xff0c;每秒只能通过一辆车&#xff0c;假如车辆的颜色只有3种&#xff0c;找出n秒内经过的最多颜色的车辆数量。 三种颜色编…

深度学习在Li电池RUL、SOH和电池热管理中的研究进展与应用

公众号&#xff1a;尤而小屋作者&#xff1a;Peter编辑&#xff1a;Peter 大家好&#xff0c;我是Peter~ 今天给大家分享一篇关于深度学习在Li电池RUL、SOH和电池热管理中的研究进展与应用的文献综述。文献基本信息介绍&#xff1a; 本文系统介绍了Deep Learning深度学习的不同…

大厂题第1辑——虚函数七题精讲之3:纯虚函数

什么是纯虚函数&#xff1f;什么是抽象类&#xff1f;纯虚函数可以提供实现吗&#xff1f;有什么意义&#xff1f; 题6-什么是纯虚函数&#xff1f; C中有两种继承&#xff1a;接口继承和实现继承。二者的第一个区别是&#xff1a;基类都干了些什么&#xff1f; 如果基类啥实…

15.2 BP神经网络实现图像压缩——基于BP神经网络的图像压缩(matlab程序)

1.简述 BP神经网络的图像压缩原理 数字图像压缩实际上是以较少的比特数有损或者无损的来表示原来像素矩阵的一种图像处理技术,实际上就是减少图像数据中的时间冗余,空间冗余,频谱冗余等等作为目的,从而同过减少上述的一种或者多种冗余的信息而达到更加高效的存储与传输数据.图…

目标检测的评估指标

Precision(精确率/查准率)&#xff1a;是指在所有被预测为正的样本中&#xff0c;确实是正样本的占比。当Precision越大时&#xff0c;FP越小&#xff0c;此时将其他类别预测为本类别的个数也就越少&#xff0c;可以理解为预测出的正例纯度越高。Precision越高&#xff0c;误检…

LLM驱动的智能体#Mixcopilot的迭代演进

论文&#xff1a; Generative Agents: Interactive Simulacra of Human Behavior shadow 前阵子在一场线下活动&#xff0c;我们展开了对生成式智能体的分享和研讨&#xff0c;同时也介绍了Earth在实现智能体系统的思考和实践。 最近有一篇文章把LLM驱动的智能体的构成讲解的很…

centos7安装图形化界面

一键安装并生效脚本 #!/bin/bash # 安装X(X Window System) yum groupinstall -y "X Window System"# 安装图形界面软件 yum groupinstall -y "GNOME Desktop"# 设置开机进入图形界面 systemctl set-default graphical.target# 进入图形界面 startx安装 …

Windows | [出现错误 2147942402 (0x80070002) (启动“ubuntu2004.exe”时)]

Windows | [出现错误 2147942402 (0x80070002) (启动“ubuntu2004.exe”时)] C:\WINDOWS\system32\wsl.exe -d Ubuntu-20.04

Verilog基本语法之数据类型

Verilog 是一种用于数字逻辑电路设计的硬件描述语言&#xff0c;可以用来进行数字电路的仿真验证、时序分析、逻辑综合。 既是一种行为级&#xff08;可用于电路的功能描述&#xff09;描述语言又是一种结构性&#xff08;可用于元器件及其之间的连接&#xff09;描述语言。 …

深度了解机器人行业全貌

产品分类 机器人主要可分为工业机器人、服务机器人和特种机器人,主要产品如下图所示。 机器人主要分类 资料来源:36氪、华泰证券《机械设备行业专题研究-商用服务机器人:曙光已现蓝海可期-220105》。 其中工业机器人的主要种类及应用领域如下图所示。 工业机器人主要类型及…

docker安装失败 应用程序无法启动,因为应用程序的并行配置不正确

问题描述 报错“应用程序无法启动&#xff0c;因为应用程序的并行配置不正确”。 配置&#xff1a;windows10 解决过程 网上的解决方案有三种&#xff1a; 启动windows服务Windows Modules Installer。运行sxstrace.exe。安装visual c相关依赖。下载visual studio installer…

Python基础 —— 输入输出

〇、概述 当我们编写代码时&#xff0c;必不可少地需要通过敲击键盘来向电脑输入数据&#xff0c;然后显示器将把我们想要的内容显示出来&#xff1b;这其中需要很多复杂的知识&#xff0c;为了简化操作&#xff0c;便有人将其封装成了 print() 和 input() 两个函数。 一、输出…

LiDAR SLAM 闭环——BoW3D论文详解

标题&#xff1a;BoW3D: Bag of Words for Real-Time Loop Closing in 3D LiDAR SLAM 作者&#xff1a;Yunge Cui,Xieyuanli Chen,Yinlong Zhang,Jiahua Dong,Qingxiao Wu,Feng Zhu 机构&#xff1a;中科院沈阳自动化研究所 来源&#xff1a;2022 RAL 现算法已经开源&#…

linux查看文件夹的命令

第一种&#xff1a; 最简单的查看方法可以使用ls -ll、ls-lh命令进行查看&#xff0c;当使用ls -ll&#xff0c;会显示成字节大小&#xff0c;而ls- lh会以KB、MB等为单位进行显示&#xff0c;这样比较直观一些。 ls -ll ls -lh 第二种&#xff1a; 通过命令du -h –max-de…

微信小程序视图层莫名出现”竖线“

写完视图层后&#xff0c;发现页面上莫名其妙的出现了一些“竖线”&#xff0c;如下图所示&#xff1a; 这段html代码是这样写的&#xff1a; <view class"other-des"><view class"section"><text class"section-num">{{cou…

服务器财务系统数据库被locked勒索病毒攻击后如何怎么办?如何快速解密恢复数据

在当今的数字化时代&#xff0c;信息安全问题已成为企业面临的重大挑战之一。企业的服务器财务系统数据库是企业最核心的资金管理和财务决策平台&#xff0c;一旦遭受勒索病毒攻击&#xff0c;重要财务数据并被锁定&#xff0c;可能导致严重的经济损失和业务中断。近期&#xf…

企业为什么需要软件的应用框架?

软件框架是可用来构建软件的结构。它充当系统的基础&#xff0c;使开发者不必从头开始创建&#xff0c;比如非必要的额外逻辑。框架还类似于模板&#xff0c;你可以对其进行修改并添加某些特性和更高级功能&#xff0c;然后创建许多人可以使用的复杂而普适的项目。 软件的应用…

python 笔记 math包

abs 绝对值 acos 反余弦函数 acosh 反双曲余弦函数 asin 反正弦函数 asinh 反双曲正弦函数 atan 反正切函数 atanh 反双曲正切函数 cos 余弦函数 cosh 双曲余弦函数 e 自然常数 exp e的几次方 fabs 绝对值 gcd 最大公约数 log log2 log10 modf 取小数、取整数部分 …

gitlab【安装部署、备份与恢复】

【1】安装依赖 [rootgit ~]# yum -y install install curl opessh-server postfix wget【2】安装软件包 [rootgit ~]# yum -y localinstall gitlab-ce-11.2.3-ce.0.el7.x86_64.rpm 【3】修改配置 [rootgit ~]# grep "^[a-Z]" /etc/gitlab/gitlab.rb external_ur…