惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
C
Cybersecurity and Infrastructure Security Agency CISA
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tailwind CSS Blog
G
GRAHAM CLULEY
博客园 - 叶小钗
T
Threatpost
小众软件
小众软件
The Hacker News
The Hacker News
博客园 - 聂微东
博客园 - 三生石上(FineUI控件)
P
Privacy & Cybersecurity Law Blog
AWS News Blog
AWS News Blog
P
Proofpoint News Feed
Jina AI
Jina AI
S
Schneier on Security
N
News | PayPal Newsroom
Help Net Security
Help Net Security
A
Arctic Wolf
T
The Blog of Author Tim Ferriss
大猫的无限游戏
大猫的无限游戏
T
Troy Hunt's Blog
美团技术团队
L
Lohrmann on Cybersecurity
The Last Watchdog
The Last Watchdog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cisco Blogs
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Hugging Face - Blog
Hugging Face - Blog
B
Blog RSS Feed
The Register - Security
The Register - Security
博客园 - Franky
Stack Overflow Blog
Stack Overflow Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
S
SegmentFault 最新的问题
腾讯CDC
云风的 BLOG
云风的 BLOG
Simon Willison's Weblog
Simon Willison's Weblog
Google DeepMind News
Google DeepMind News
AI
AI
GbyAI
GbyAI
Attack and Defense Labs
Attack and Defense Labs
Cloudbric
Cloudbric
I
Intezer
The GitHub Blog
The GitHub Blog
V2EX - 技术
V2EX - 技术
Scott Helme
Scott Helme
J
Java Code Geeks

博客园 - 你看起来真的很好吃

linux系统时间管理 安装历史docker版本 OCR文本提取+NER命名实体识别 测试 深度学习-激活函数 go——make和new的区别 go——GC垃圾回收机制 go——标识符的命名规范 go语言——转义符 go开发环境安装 git使用 项目文档目录总结 鼠标连点器——python版 windows使用YOLOV5训练模型——搭建编译环境 高匿名动态IP代理获取 logging模块进行格式化输出 笔记 Django admin 添加操作记录 facenet + fiass 实现人脸识别
go语言——数据类型
你看起来真的很好吃 · 2024-08-12 · via 博客园 - 你看起来真的很好吃
  1. 声明变量的三种方式(支持多变量声明)

     // 声明变量方式1

        // 指定变量类型,声明后若不赋值,使用默认值

        var i int

        fmt.Println("i=", i)

        // 声明变量方式2

        // 类型推导式

        var b = 2

        fmt.Printf("b=%d \n", b)

        // 声明变量方式3(只能用在函数内)

        // 省略var

        c := 3

        fmt.Printf("c=%d \n", c)

  2. 数据类型
    1. 基本数据类型
      1. 值类型(int int8 int16 int32 int64 uint uint8 uint 16 uint32 uint64 )
      2. 字符类型 (没有专门的字符类型,使用byte表示存储字符)
        1. 字符常量使用引号或单引号
        2. go中允许使用转义符将字符转换为特殊字符
        3. go中字符使用utf-8编码
        4. go中字符本质是一个整数,直接输出时是该字符对应的utf-8的编码
        5. 可以给变量直接赋值一个数字,然后使用格式化输出时%c会输出该数字对应的unicode字符
        6. 字符类型可以进行运算,相当于一个整数,因为他都有对应unicode码值
        7. 字符类型存储和读取规则
          存储:字符->码值->二进制->存储
          读取:二进制->码值->字符串->读取                                                                                                                                                                                                                                                                                                                                                                                                                                                                              
      3. 布尔类型
        1. 只占用一个字节,只能为true或false,适用于逻辑运算一般用于程序流程控制
        2. if 条件控制语句
        3. for条件控制语句                                                        
      4. 字符串类型 
        1. 字符串中的字节使用utf-8编码标识Unicode文本
        2. 字符串赋值后不能修改
        3. 字符串有两种表现形式(双引号,可以识别转义字符)(反引号,以字符串的原生形式输出,包含换行符和特殊字符)
        4. 字符串拼接方式,使用+拼接
        5. 当一行字符串太长时,需要使用多行字符串,加号需要放在上一行末尾

      5. 基本数据默认值
        1. 整形:0
        2. 浮点型:0
        3. 字符串:”“
        4. byte:0
        5. 布尔类型:false 
      6. go基础数据类型转换(需要显示转换)
        1. int转float: float32(x)
        2. 非string基础类型转string
          1. 使用fmt.Sprintf(”参数“, 表达式)转换成字符串(常用)
          2. 使用strconv.FormatInt(变量,进制), strconv.FormatFloat(变量,"f", 精度,进制)
          3. 使用strconv.Itoa(num) 直接返回string类型
        3. sting转非string基础类型  注意如果没有转成功将输出默认值
          1. 字符串转布尔:strconv.ParseBool("true")
          2. 字符串转int:strconv.ParseInt("10", base, bitsize)  base指定转成几进制的  bitsize指定输出结果大小,必须能无溢出的整数类型 
          3. 字符串转float:strconv.ParseFloat("1.2", bitsize)  bitsize指定输出结果大小,必须能无溢出的整数类型
        4. 注意事项(1:范围小的可以转换为范围大的)(2:转换类型后,变量本身的数据类型并没有变化)(3:转换时大范围转小范围,如果超过小范围取值范围系统不会报错,只是转换的结果按溢出处理)
    2. 复杂/派生数据类型
      1. 数组
      2. 切片
      3. 结构体
      4. 指针(pointer)
        1. 介绍
          1. 基础数据类型变量存储的就是值,也叫做值类型
          2. 使用&获取地址
          3. 使用*获取指针的值
          4. 指针类型存储的是一个地址,这个地址指向的空间存的才是值
      5. 管道
      6. 函数
      7. 接口
      8. map
    3. 值类型
      1. 包含int、float、bool、string、数组、结构体
      2. 特点:值类型变量直接存储值,内存通常在栈中分配
    4. 引用类型
      1. 包含指针、切片、map、管道、接口
      2. 特点:引用类型变量存储的是地址,这个地址对应的空间才是真正的值内存通常在堆上分配,没有任何变量引用这个地址时,改地址对应的数据空间就会变成垃圾,由GC回收

posted @ 2024-08-12 00:42  你看起来真的很好吃  阅读(30)  评论()    收藏  举报