2 golang中变量的定义

个人理解的是,go里面的变量和const修饰的常量其实是不同的概念,做了一个彻底的区分。

对变量的定义:引入了关键字var对变量进行声明

var a int
var b string
var c float64
var e [4] int // 数组
var f [] int  //数组切片
var f * int    //正确
var v1 int = 5 //正确
var v2 = 5     //正确,编译器自动推导出V2类型
v3 := 5        //正确,编译器自动推导出V3的类型

多重赋值

Go语言提供了大多数的语言所不支持的多重赋值,使得变量的的变换变得十分简单,多重赋值的一个例子,就是不要像c语言一样使用中间的变量

i := 2
j := 3
i , j = i , i //交换i与j的值

变量的类型

获取变量的大小

//使用unsafe
package main

import (
  "fmt"
  "unsafe"
)

func main(){
    var a int64 = 10000
    fmt.Println("length of a : " , unsafe.Sizeof(a))
}

布尔类型

Go语言提供内置的布尔值true和false,Go语言支持标准的逻辑比较和比较操作,但是操作结果都是布尔值。在go里面是不允许将其他的类型转换为bool类型的,比如int类型。必须使用false以及true。

var f * int    //正确
var v1 int = 5 //正确
var v2 = 5     //正确,编译器自动推导出V2类型
v3 := 5        //正确,编译器自动推导出V3的类型

字符串

go的字符串和c里面的不同,使用的是UTF-8的一个序列,不再是ASCII,因为UTF-8的编码不定长比较灵活,所以一个字符串的大小也可能是1到4个字节。Go 这样做的好处是不仅减少了内存和硬盘空间占用,同时也不用像其它语言那样需要对使用 UTF-8 字符集的文本进行编码和解码。

t1 := "\"hello world\""
t2 := "\u5b32\u8FCE"
t2 := `"hello"`
转义字符含义
\\表示反斜线
'单引号
"双引号
\n换行符
\uhhhh4 个 16 进制数字给定的 Unicode 字符

在 Go 语言中单个字符可以使用单引号( ' )来创建。之前的课程中,我们有学习过rune类型,它等同于int32,在 Go 语言中,一个单一的字符可以用一个单一的rune来表示。这也是容易理解的,因为 Go 语言的字符串是 UTF-8 编码,其底层使用 4 个字节表示,也就是 32 bit

在 Go 语言中,字符串支持切片操作,但是需要注意的是如果字符串都是由 ASCII 字符组成,那可以随便使用切片进行操作,但是如果字符串中包含其他非 ASCII 字符,直接使用切片获取想要的单个字符时需要十分小心,因为对字符串直接使用切片时是通过字节进行索引的,但是非 ASCII 字符在内存中可能不是由一个字节组成。如果想对字符串中字符依次访问,可以使用range操作符。另外获取字符串的长度可能有两种含义,一种是指获取字符串的字节长度,一种是指获取字符串的字符数量。

字符串支持以下操作:

语法描述
s += t将字符串 t 追加到 s 末尾
s + t将字符串 s 和 t 级联
s[n]从字符串 s 中索引位置为 n 处的原始字节
s[n:m]从位置 n 到位置 m-1 处取得的字符(字节)串
s[n:]从位置 n 到位置 len(s)-1 处取得的字符(字节)串
s[:m]从位置 0 到位置 m-1 处取得的字符(字节)串
len(s)字符串 s 中的字节数
len([]rune(s))字符串 s 中字符的个数,可以使用更快的方法 utf8.RuneCountInString()
[ ]rune(s)将字符串 s 转换为一个 unicode 值组成的串
string(chars)chars 类型是[]rune 或者[]int32, 将之转换为字符串
[ ]byte(s)无副本的将字符串 s 转换为一个原始的字节的切片数组,不保证转换的字节是合法的 UTF-8 编码字节

 

在使用Python来安装geopandas包时,由于geopandas依赖于几个其他的Python库(如GDAL, Fiona, Pyproj, Shapely等),因此安装过程可能需要一些额外的步骤。以下是一个基本的安装指南,适用于大多数用户: 使用pip安装 确保Python和pip已安装: 首先,确保你的计算机上已安装了Python和pip。pip是Python的包管理工具,用于安装和管理Python包。 安装依赖库: 由于geopandas依赖于GDAL, Fiona, Pyproj, Shapely等库,你可能需要先安装这些库。通常,你可以通过pip直接安装这些库,但有时候可能需要从其他源下载预编译的二进制包(wheel文件),特别是GDAL和Fiona,因为它们可能包含一些系统级的依赖。 bash pip install GDAL Fiona Pyproj Shapely 注意:在某些系统上,直接使用pip安装GDAL和Fiona可能会遇到问题,因为它们需要编译一些C/C++代码。如果遇到问题,你可以考虑使用conda(一个Python包、依赖和环境管理器)来安装这些库,或者从Unofficial Windows Binaries for Python Extension Packages这样的网站下载预编译的wheel文件。 安装geopandas: 在安装了所有依赖库之后,你可以使用pip来安装geopandas。 bash pip install geopandas 使用conda安装 如果你正在使用conda作为你的Python包管理器,那么安装geopandas和它的依赖可能会更简单一些。 创建一个新的conda环境(可选,但推荐): bash conda create -n geoenv python=3.x anaconda conda activate geoenv 其3.x是你希望使用的Python版本。 安装geopandas: 使用conda-forge频道来安装geopandas,因为它提供了许多地理空间相关的包。 bash conda install -c conda-forge geopandas 这条命令会自动安装geopandas及其所有依赖。 注意事项 如果你在安装过程遇到任何问题,比如编译错误或依赖问题,请检查你的Python版本和pip/conda的版本是否是最新的,或者尝试在不同的环境安装。 某些库(如GDAL)可能需要额外的系统级依赖,如地理空间库(如PROJ和GEOS)。这些依赖可能需要单独安装,具体取决于你的操作系统。 如果你在Windows上遇到问题,并且pip安装失败,尝试从Unofficial Windows Binaries for Python Extension Packages网站下载相应的wheel文件,并使用pip进行安装。 脚本示例 虽然你的问题主要是关于如何安装geopandas,但如果你想要一个Python脚本来重命名文件夹下的文件,在原始名字前面加上字符串"geopandas",以下是一个简单的示例: python import os # 指定文件夹路径 folder_path = 'path/to/your/folder' # 遍历文件夹的文件 for filename in os.listdir(folder_path): # 构造原始文件路径 old_file_path = os.path.join(folder_path, filename) # 构造新文件名 new_filename = 'geopandas_' + filename # 构造新文件路径 new_file_path = os.path.join(folder_path, new_filename) # 重命名文件 os.rename(old_file_path, new_file_path) print(f'Renamed "{filename}" to "{new_filename}"') 请确保将'path/to/your/folder'替换为你想要重命名文件的实际文件夹路径。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值