Golang--DOS命令、变量、基本数据类型、标识符

1、DOS命令

切换盘符(大小写没有区别):

c:         //切换到c盘
d:         //切换到d盘
e:         //切换到e盘

显示文件内信息:
 指令:dir

切换路径:

指令:cd 绝对路径 / 相对路径 

. 表示当前目录

.. 表示上一层目录

cd ..

 清屏:
指令:cls

 切换历史命令:
上下箭头

补全命令:
tab按键 

创建目录:
指令:md 目录名

删除目录:
指令:rd 目录名 

复制文件:
指令:copy 源文件 目标文件   

删除文件:
指令:del 文件(del后面接目录,那么删除的是该目录下的文件,而不是该目录) 

源文件(.go) -> 编译 -> 可执行程序(运行可执行程序 -> 执行结果):
指令:go build 源文件(得到可执行程序)

指令:go build -o 目标文件 源文件(指定编译后的文件名)


源文件(.go) -> 编译并运行 -> 执行结果:

指令:go run 源文件(直接得到执行结果)

文件格式化操作:
指令:gofmt 源文件,只是效果展示,不会写入源文件中

指令:gofmt -w 源文件,格式化并写入源文件中

 

2、语法基础

  • 源文件以".go"为扩展名
  • 程序的执行入口是main()函数。
  • 严格区分大小写。
  • 方法由一条条语句构成,每个语句后不需要分号(Go语言会在每行后自动加分号),这也体现出Golang的简洁性。
  • Go编译器是一行行进行编译的,因此我们一行就写一条语句,不能把多条语句写在同一个,否则报错
  • 定义的变量或者import的包如果没有使用到,代码不能编译通过。
  • 大括号都是成对出现的,缺一不可
  • 注释:行注释使用//,块注释使用/**/
package main //声明文件所在的包,每个go文件都必须声明所在的包,
//main包是程序的入口包,main函数是程序的入口函数
import "fmt" //导入fmt包,fmt包实现了格式化I/O(输入/输出)的函数
func main() { // 主函数,程序的入口函数
	// 调用 fmt 包中的 Println 函数,打印 Hello World 到控制台
	fmt.Println("Hello World123444")
}

go的设计者想要开发者有统一的代码风格,一个问题尽量只有一个解决方案是最好的

 

3、变量

变量的使用:

  1. 声明
  2. 赋值
  3. 使用

方式一:声明,赋值,使用分开,或声明变量并赋值

package main
import "fmt"

//全局
var aa int = 1

func main(){
	//声明变量
	var a int
	//变量赋值
	a = 10
	//变量使用
	fmt.Println(a)

	//声明变量并赋值
	var str string = "hello world"
	//变量使用
	fmt.Println(str)
	//局部
	var aa int = 3
	fmt.Println(aa)//输出3,局部变量优先
}

注意:变量不可以在同一作用域中定义多次,遵循局部变量优先。

方式二:自动类型推断

package main
import "fmt"

//全局变量
var glo1 = 100
var glo2 = "str"

//不能在函数外面使用:=,:=只能在函数里面使用
glo5 := 300

//全局变量一次性声明
var(
	glo3 = 200
	glo4 = "hello"
)

func main(){
	//局部变量
	
	//1、指定变量类型,并赋值
	var n1 int = 10
	fmt.Println(n1)
	
	//2、指定变量类型,不赋值,使用默认值
	var n2 int
	var n3 string
	fmt.Println(n2) //0
	fmt.Println(n3) //""

	//3、不指定变量类型,根据值自行判断变量类型
	var n4 = 100
	var n5 = "hello"
	fmt.Println(n4)
	fmt.Println(n5)

	//4、省略var,注意 :=左侧的变量不应该是已经声明过的,否则会导致编译错误
	n6 := 200
	n7 := "world"
	fmt.Println(n6)
	fmt.Println(n7)

	//5、一次性声明多个变量
	var n8,n9 int = 100,200
	var n10,n11 string = "hello","world"
	fmt.Println(n8,n9)
	fmt.Println(n10,n11)

	//6、一次性声明多个变量,省略var
	n12,n13 := 100,"hello"
	fmt.Println(n12,n13)

	fmt.Println(glo1)
	fmt.Println(glo2)
	fmt.Println(glo3)
	fmt.Println(glo4)
}

注意:在Go语言中,全局变量的声明和赋值通常使用var关键字,而不是:=(会报编译错误):=是用于在函数内部进行局部变量的声明和赋值的简短声明形式。在函数外部,即全局作用域中,应该使用var关键字来声明全局变量。

4、Golang数据类型

在Go语言中,数据类型用于定义变量可以存储的数据种类。Go语言的数据类型可以分为以下几类:

  1. 基本数据类型

    • 整数类型:intint8int16int32int64uintuint8uint16uint32uint64byte (等价于 uint8), rune (等价于 int32)
    • 浮点数类型:float32float64
    • 布尔类型:bool
    • 字符串类型:string
  2. 复合数据类型

    • 数组类型:[n]T,其中 n 是数组的长度,T 是数组元素的类型。
    • 切片类型:[]T,切片是动态数组,可以自动增长。
    • 映射类型:map[K]V,映射是键值对的集合,其中 K 是键的类型,V 是值的类型。
    • 结构体类型:struct,结构体是由一系列具有相同或不同类型的字段组成的数据集合。
    • 指针类型:*T,指针是变量的内存地址。
    • 函数类型:func,函数是可以被调用的代码块。
    • 接口类型:interface,接口是一组方法的签名,任何实现了这些方法的类型都可以称为实现了该接口。
  3. 其他数据类型

    • 通道类型:chan,通道用于在并发goroutine之间传递数据。
    • 错误类型:error,错误类型用于表示函数执行过程中出现的错误。

在Go语言中,变量的类型是在编译时确定的,并且一旦确定就不能更改。这意味着你不能将一个整数类型的值赋给一个字符串类型的变量。

在你的代码示例中,你使用了多种数据类型,包括整数类型(int)、字符串类型(string)、布尔类型(bool)和切片类型([]int)。例如:

var num int = 10
var str string = "hello world"
var isTrue bool = true
var slice []int = []int{1, 2, 3, 4, 5}

4.1 基本数据类型

4.1.1 整数类型

有符号整数类型:

无符号整数类型:

其他整数类型:

Golang程序中整型变量在使用时,遵守保小不保大的原则。(在保证程序正确运行下,尽量使用占用空间小的数据类型

注意:Golang默认声明为int类型

%T为变量类型的占位符。

Sizeof()函数:返回变量占用的字节数

包:unsafe

package main
import (
	"fmt"
	"unsafe"
)

func main(){
	var a int64 = 111;
	fmt.Println(unsafe.Sizeof(a)) // 8
}

4.1.2 浮点类型

注意:浮点类型底层存储:符号位+指数位+尾数位,尾数位可能只存了一部分,很可能会出现精度的损失。

package main
import (
	"fmt"
)

func main(){
	var num1 float32 = 1
	fmt.Println(num1) //1
	var num2 float64 = 1.2323
	fmt.Println(num2) //1.2323
	//科学计数法表示,e/E表示10的多少次方
	var num3 float64 = 1.23e2
	fmt.Println(num3) //12.3
	var num4 float64 = 1.23E-2
	fmt.Println(num4) //0.0123
	//精度对比
	var num5 float32 = 1.23456789
	var num6 float64 = 1.23456789
	fmt.Println(num5) //1.2345679
	fmt.Println(num6) //1.234567919921875
}

4.1.3 字符类型

  • Golang中没有专门的字符类型,如果要存储单个字符(字母),一般使用byte来保存。
  • Golang中字符使用UTF-8编码
  • 字符类型,本质上就是一个整数,也可以直接参与运算,输出字符的时候,会将对应的码值做一个输出
  • 字母,数字,标点等字符,底层是按照ASCII进行存储。
  • 汉字字符,底层对应的是Unicode码值 (byte类型溢出,可以用int来存储)
  • 想显示对应的字符,必须采用格式化输出(Printf())

总结:Golang的字符对应的使用的是UTF-8编码(Unicode是对应的字符集,UTF-8是Unicode的其中的一种编码方案

package main
import "fmt"
func main(){
		//定义字符类型的数据:
		var c1 byte = 'a'
		fmt.Println(c1)//97
		var c2 byte = '6'
		fmt.Println(c2)//54
		var c3 byte = '('
		fmt.Println(c3 + 20)//40
		//字符类型,本质上就是一个整数,也可以直接参与运算,输出字符的时候,会将对应的码值做一个输出
		//字母,数字,标点等字符,底层是按照ASCII进行存储。
		var c4 int = '中'
		fmt.Println(c4) //20013
		//汉字字符,底层对应的是Unicode码值
		//对应的码值为20013,byte类型溢出,可以用int类型来保存
		//总结:Golang的字符对应的使用的是UTF-8编码(Unicode是对应的字符集,UTF-8是Unicode的其中的一种编码方案)
		var c5 byte = 'A'
		//想显示对应的字符,必须采用格式化输出
		fmt.Printf("c5对应的具体的字符为:%c",c5) //A
}

\转义字符:将后面的字母表示为特殊含义

4.1.4 布尔类型(bool类型)

  • bool类型数据只允许取值true和false(不能用数字替代)
  • 布尔类型占1个字节
  • 布尔类型适于逻辑运算,一般用于程序流程控制
package main
import "fmt"

func main(){
	var flag1 bool = true //不能直接使用数字来表示布尔类型,只能使用true和false
	var flag2 bool = false
	var flag3 bool = 1 < 10

	fmt.Println(flag1) //true
	fmt.Println(flag2) //false
	fmt.Println(flag3) //true
}

4.1.5 字符串类型

字符串就是一串固定长度的字符连接起来的字符序列

package main
import "fmt"

func main(){
	//定义字符串类型的数据:
	//字符串定义后,不能修改,不能通过下标来修改
	var s1 string = "I aways miss you"
	fmt.Println(s1) //I aways miss you
	fmt.Println(len(s1)) //16

	// 错误的写法
	// var s2 string
	// v2 = "golang"
	// 正确的写法
	var s2 string = "golang"
	fmt.Println(s2) //golang
	fmt.Println(len(s2)) //6

	// 多行字符串(或有特殊字符),使用反引号``
	var s3 string = `
		hello
		world
	`
	fmt.Println(s3) //hello
					//world

	//字符串拼接:
	var s4 string = "hello"
	var s5 string = "world"
	var s6 string = s4 + s5 //字符串拼接,不能使用+号拼接数字,只能拼接字符串
	fmt.Println(s6) //helloworld

	//当需要拼接的字符串过多的时候,可以使用+保留在上一行的最后
	var s7 string = "hello" +
		"world" +
		"golang"
	fmt.Println(s7) //helloworldgolang
}


4.1.6 基础数据类型的默认值(零值)

4.1.7  基础数据类型之间的转换

  • Go在不同类型的变量之间赋值时需要显式转换,并且只有显式转换(强制转换)
  • 语法:       
    表达式T(v)将值v转换为类型T
     T : 就是数据类型
     v : 就是需要转换的变量
  • 在Go语言中,当进行类型转换时,需要确保转换的目标类型能够容纳原始值如果目标类型无法容纳原始值,编译器会报错。
package main
import "fmt"
func main(){
        //进行类型转换:
        var n1 int = 100
        //var n2 float32 = n1  在这里自动转换不好使
        fmt.Println(n1)
        //fmt.Println(n2)
        var n2 float32 = float32(n1)
        fmt.Println(n2)
        //注意:n1的类型其实还是int类型,只是将n1的值100转为了float32而已,n1还是int的类型
        fmt.Printf("%T",n1)  //int
        fmt.Println()

        //将int64转为int8的时候,编译不会出错的,但是会数据的溢出
        var n3 int64 = 888888
        var n4 int8 = int8(n3)
        fmt.Println(n4)//56

        var n5 int32 = 12
        var n6 int64 = int64(n5) + 30  //一定要匹配=左右的数据类型
        fmt.Println(n5)
        fmt.Println(n6)
		
        var n7 int64 = 12
        var n8 int8 = int8(n7) + 127  //编译通过,但是结果可能会溢出
        //var n9 int8 = int8(n7) + 128 //编译不会通过
        fmt.Println(n8)
        //fmt.Println(n9)
}

4.1.8 基本数据类型转换为string

  • 方式1:     fmt.Sprintf("%参数",表达式) 
  • 方式2:    使用strconv包的函数   

方式1:

package main
import "fmt"

func main(){
	var n1 int = 1111
	var n2 float32 = 4.324
	var n3 bool = true
	var n4 byte = 'a'

	var s1 string = fmt.Sprintf("%d2345",n1)
	var s2 string = fmt.Sprintf("%fabc",n2)
	var s3 string = fmt.Sprintf("%t or false",n3)
	var s4 string = fmt.Sprintf("%c",n4)

	fmt.Printf("s1的类型为:%T\n, s1的值为:%q\n",s1,s1) //s1的类型为:string, s1的值为:"11112345"
	fmt.Printf("s2的类型为:%T\n, s2的值为:%q\n",s2,s2) //s2的类型为:string, s2的值为:"4.324000abc"
	fmt.Printf("s3的类型为:%T\n, s3的值为:%q\n",s3,s3) //s3的类型为:string, s3的值为:"true or false"
	fmt.Printf("s4的类型为:%T\n, s4的值为:%q\n",s4,s4) //s4的类型为:string, s4的值为:"a"
}

方式2:

package main
import(
	"fmt"
	"strconv"
)

func main(){
	var n1 int = 1111
	var s1 string = strconv.FormatInt(int64(n1),2) //第一个参数必须转为int64类型,第二个参数2指定字面值的进制形式为二进制
	fmt.Printf("s1的类型为:%T\n, s1的值为:%q\n",s1,s1) //s1的类型为:string, s1的值为:"10011001011"
	
	var n2 float64 = 4.324
	var s2 string = strconv.FormatFloat(n2,'f',10,64) //第一个参数必须转为float64类型,第二个参数f指定字面值的进制形式为十进制,第三个参数10指定精度为10位,第四个参数64指定字面值的类型为float64
	fmt.Printf("s2的类型为:%T\n, s2的值为:%q\n",s2,s2) //s2的类型为:string, s2的值为:"4.3240000000"

	var b1 bool = true
	var s3 string = strconv.FormatBool(b1)
	fmt.Printf("s3的类型为:%T\n, s3的值为:%q\n",s3,s3) //s3的类型为:string, s3的值为:"true"
}

4.1.9 string转为基本类型

方式:使用strconv包的函数

package main
import(
	"fmt"
	"strconv"
)

func main(){
	//string -> bool
	var sl string = "true"
	var b bool
	b,_ = strconv.ParseBool(sl)
	fmt.Printf("b的类型为:%T, b的值为:%v\n",b,b) //b的类型为:bool, b的值为:true

	//string -> int64
	var s2 string = "123456"
	var num1 int64
	num1,_ = strconv.ParseInt(s2,10,64)
	fmt.Printf("num1的类型为:%T, num1的值为:%v\n",num1,num1) //num1的类型为:int64, num1的值为:123456

	//string -> float64
	var s3 string = "123.456"
	var num2 float64
	num2,_ = strconv.ParseFloat(s3,64)
	fmt.Printf("num2的类型为:%T, num2的值为:%v\n",num2,num2) //num2的类型为:float64, num2的值为:123.456

	//注意:string向基本数据类型转换的时候,一定要确保string类型能够转成有效的数据类型,否则最后得到的结果就是按照对应类型的默认值输出
	var s4 string = "golang"
	var b1 bool
	b1,_ = strconv.ParseBool(s4)
	fmt.Printf("b1的类型是:%T,b1=%v \n",b1,b1) //b1的类型是:bool,b1=false

	var s5 string = "golang"
	var num3 int64
	num3,_ = strconv.ParseInt(s5,10,64)
	fmt.Printf("num3的类型是:%T,num3=%v \n",num3,num3) //num3的类型是:int64,num3=0
}

4.2 复杂数据类型

4.2.1 指针

使用&var就可以获取这个变量内存的地址
使用*地址就可以进行取值

package main
import "fmt"

func main(){
	var a int = 10086
	fmt.Println(&a) // 0xc00001a0b8
}

指针变量:

package main

import (
	"fmt"
)

func main() {
	var age int = 18
	//&符号+变量 就可以获取这个变量内存的地址
	fmt.Println(&age)

	//定义一个指针变量:
	//var代表要声明一个变量
	//ptr 指针变量的名字
	//ptr对应的类型是:*int 是一个指针类型 (可以理解为 指向int类型的指针)
	//&age就是一个地址,是ptr变量的具体的值
	var ptr *int = &age
	fmt.Println(ptr)
	fmt.Println("ptr本身这个存储空间的地址为:", &ptr)
	
	//想获取ptr这个指针或者这个地址指向的那个数据:
	fmt.Printf("ptr指向的数值为:%v", *ptr) //ptr指向的数值为:18
}

5、标识符

变量,方法等,只要是起名字的地方,那个名字就是标识符,例如:var a int = 1,a就是一个标识符。
标识符定义规则:由字母(包括中文,但不建议)、数字、下划线_组成

package main
import "fmt"

func main(){
	//不建议使用中文作为变量名
	var 变量1 = 111
	var 变量2 = "hello"
	fmt.Println(变量1)
	fmt.Println(变量2)
}

注意:

  • 不可以以数字开头,严格区分大小写,不能包含空格,不可以使用Go中的保留关键字
  • 下划线"_"本身在Go中是一个特殊的标识符,称为空标识符。可以代表任何其它的标识符,但是它对应的值会被忽略(比如:忽略某个返回值)。所以仅能被作为占位符使用,不能单独作为标识符使用
  • int,float32,float64等不算是保留关键字,但是也尽量不要使用
package main
import (
	"fmt"
	"strconv"
)

func main(){
	var s2 string = "19"
	var num1 int64
	num1,_ = strconv.ParseInt(s2,10,64)
	fmt.Printf("num1的类型是:%T, num1的值是:%v",num1,num1)//num1的类型是:int64, num1的值是:19
}

起名规则:

包名:尽量保持package的名字和目录保持一致(尽量,不强制),尽量采取有意义的包名,简短,有意义,和标准库不要冲突。


为什么之前在定义源文件的时候,一般我们都用package main 包 ?

main包是一个程序的入口包,所以你main函数它所在的包建议定义为main包,如果不定义为main包,那么就不能得到可执行文件。

变量名、函数名、常量名 : 采用驼峰法
var stuNum string = "101010111"

 如果变量名、函数名、常量名首字母大写,则可以被其他的包访问;

 如果首字母小写,则只能在本包中使用  (利用首字母大写小写完成权限控制)

import导入语句通常放在文件开头包声明语句的下面。
导入的包名需要使用双引号包裹起来。
根据Go语言的规范,包的导入路径应该是从$GOPATH/src开始的相对路径或者是绝对路径

需要配置一个环境变量:GOPATH

注意:最新版本需要禁止GO111MODULE,否则无法使用GOPATH实现下述操作。
禁止/启用GO111MODULE:
禁止(Windows):set GO111MODULE=off,请注意,这个设置只在当前cmd会话中有效。

启用(Windows):set GO111MODULE=on

禁止(PowerShell):$env:GO111MODULE = "off",请注意,这个设置只在当前PowerShell会话中有效。

启用(PowerShell):$env:GO111MODULE = "on’"



 

6、关键字和预定义标识符

关键字就是程序发明者规定的有特殊含义的单词,又叫保留字。 

 预定义标识符:一共36个预定标识符,包含基础数据类型和系统内嵌函数

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

正反向滤波的简述和MATLAB代码

文章目录 MATLAB 例程:卡尔曼滤波与反向滤波运行结果代码说明总结P.S. 相关公式1. 正向滤波(Forward Filtering)2. 反向滤波(Backward Filtering)3. 总结以下是一个简单的MATLAB例程,演示如何使用卡尔曼滤波进行状态估计,包括正向滤波和反向滤波的实现。这个例程模拟了一…

Django目录结构最佳实践

Django项目目录结构 项目目录结构配置文件引用修改创建自定义子应用方法修改自定义注册目录从apps目录开始 项目目录结构 └── backend # 后端项目目录&#xff08;项目名称&#xff09;├── __init__.py├── logs # 项目日志目录├── manage.py #…

KVM 使用主机 GPU

KVM 如何使用主机的 GPU&#xff0c;首先安装 KVM。 配置Grub vi /etc//etc/default/grub GRUB_CMDLINE_LINUX"amd_iommuon iommupt videoefifb:off vfio_pci.ids10de:1e07,10de:10f7,10de:1ad6,10de:1ad7"查看主机显卡信息 lspci -nnk | grep -A 3 VGA 找到GP…

b站小土堆PyTorch视频学习笔记(二)

Dataloader:提供不同类型的数据集&#xff1b;为后面的网络提供不同的数据形式 Dataset&#xff1a;提供一种方式去获取数据及其label&#xff08;标签&#xff09; 主要实现以下两个功能&#xff1a; {如何获取每一个数据及其lable&#xff1b;告诉我们总共有多少数据} fr…

nginx的proxy_next_upstream使用中的一个坑

今天线上系统出了点问题&#xff0c;机房的电信出口突然不通了&#xff0c;原本以为能自动切换的nginx配置&#xff0c;居然没有生效&#xff0c;导致了业务告警&#xff0c;手工紧急处理了才解决了。 当时的设想是&#xff0c;如果这个服务的访问&#xff0c;出现了500或者超…

【Git】SSH密钥

目录 1 前言2 SSH密钥2.1 生成密钥2.2 查看密钥2.3 关联Git服务器 3 小结 1 前言 许多Git服务器都使用SSH公钥进行认证&#xff0c;为了向Git服务器提供SSH公钥&#xff0c;如果某系统用户尚未拥有密钥&#xff0c;必须事先为其生成一份。 2 SSH密钥 2.1 生成密钥 在Window…

【Seed-Labs】SQL Injection Attack Lab

Overview SQL 注入是一种代码注入技术&#xff0c;利用的是网络应用程序与数据库服务器之间接口的漏洞。当用户输入的信息在发送到后端数据库服务器之前没有在网络应用程序中进行正确检查时&#xff0c;就会出现这种漏洞。 许多网络应用程序从用户那里获取输入&#xff0c;然…

ClkLog企业版(CDP)预售开启,更有鸿蒙SDK前来助力

新版本发布 ClkLog在上线近1年后&#xff0c;获得了客户的一致肯定与好评&#xff0c;并收到了不少客户对功能需求的反馈。根据客户的反馈&#xff0c;我们在今年三季度对ClkLog的版本进行了重新的规划与调整&#xff0c;简化了原有的版本类型&#xff0c;方便客户进行选择。 与…

T矩阵其实就是pauli基的乘,S矩阵中hv是体散射分量

注意什么是面散射&#xff0c;二次散射和体散射。 ShhSvv表示单次散射的电压&#xff0c;|ShhSvv|^2是功率

群控系统服务端开发模式-应用开发-上传配置功能开发

下面直接进入上传配置功能开发&#xff0c;废话不多说。 一、创建表 1、语句 CREATE TABLE cluster_control.nc_param_upload (id int(11) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 编号,upload_type tinyint(1) UNSIGNED NOT NULL COMMENT 上传类型 1&#xff1a;本站 2&a…

HarmonyOS NEXT 应用开发实战(九、知乎日报项目详情页实现详细介绍)

在本篇博文中&#xff0c;我们将探讨如何使用 HarmonyOS Next 框架开发一个知乎日报的详情页&#xff0c;逐步介绍所用到的组件及代码实现。知乎日报是个小巧完整的小项目&#xff0c;这是一个循序渐进的过程&#xff0c;适合初学者和有一定开发经验的工程师参考。 1. 项目背景…

数据结构之链式结构二叉树的实现(初级版)

本文内容将主会多次用到函数递归知识&#xff01;&#xff01;&#xff01; 本节内容需要借助画图才能更好理解&#xff01;&#xff01;&#xff01; 和往常一样&#xff0c;还是创建三个文件 这是tree.h #pragma once #include<stdio.h> #include<stdlib.h> …

数据结构(Java)—— 认识泛型

1. 包装类 在学习泛型前我们需要先了解一下包装类 在 Java 中&#xff0c;由于基本类型不是继承自 Object &#xff0c;为了在泛型代码中可以支持基本类型&#xff0c; Java 给每个基本类型都对应了一个包装类型。 1.1 基本数据类型和对应的包装类 基本数据类型包装类byteByt…

LSTM模型改进实现多步预测未来30天销售额

项目源码获取方式见文章末尾&#xff01; 600多个深度学习项目资料&#xff0c;快来加入社群一起学习吧。 《------往期经典推荐------》 项目名称 1.【BiLSTM模型实现电力数据预测】 2.【卫星图像道路检测DeepLabV3Plus模型】 3.【GAN模型实现二次元头像生成】 4.【CNN模型实…

使用带有令牌认证的 Jupyter Notebook 服务器

当你不想在默认浏览器打开Jupyter Notebook,但是在其他浏览器打开http://localhost:8890/lab或者http://localhost:8889/tree&#xff0c;却显示 Token authentication is enabled&#xff0c;如下图 可以按以下步骤操作&#xff1a; 获取令牌&#xff1a;在启动 Jupyter Note…

软考(中级-软件设计师)数据库篇(1101)

第6章 数据库系统基础知识 一、基本概念 1、数据库 数据库&#xff08;Database &#xff0c;DB&#xff09;是指长期存储在计算机内的、有组织的、可共享的数据集合。数据库中的数据按一定的数据模型组织、描述和存储&#xff0c;具有较小的冗余度、较高的数据独立性和扩展…

【java】java的基本程序设计结构06-运算符

运算符 一、分类 算术运算符关系运算符位运算符逻辑运算符赋值运算符其他运算符 1.1 算术运算符 操作符描述例子加法 - 相加运算符两侧的值A B 等于 30-减法 - 左操作数减去右操作数A – B 等于 -10*乘法 - 相乘操作符两侧的值A * B等于200/除法 - 左操作数除以右操作数B /…

躺平成长-代码开发(07)-利用kimi帮助自己写代码

开源竞争&#xff1a; 开源竞争&#xff08;当你无法彻底掌握技术的时候&#xff0c;就去开源这个技术&#xff0c;让更多人了解这个技术&#xff0c;随着越来越多的人了解这个技术&#xff0c;就会培养出更多的技术依赖&#xff0c;让更多的人帮助你们完善你的技术依赖&#x…

基于javaweb(springboot+mybatis)网站建设服务管理系统设计和实现以及文档报告设计

基于javaweb(springbootmybatis)网站建设服务管理系统设计和实现以及文档报告设计 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取…

时间序列预测(十)——长短期记忆网络(LSTM)

目录 一、LSTM结构 二、LSTM 核心思想 三、LSTM分步演练 &#xff08;一&#xff09;初始化 1、权重和偏置初始化 2、初始细胞状态和隐藏状态初始化 &#xff08;二&#xff09;前向传播 1、遗忘门计算&#xff08;决定从上一时刻隐状态中丢弃多少信息&#xff09; 2、…