一、变量的声明方式(三种)

  1、var a int = num

  2、var a = num

  3、a := num

二、字符类型使用细节

  *Golang的字符使用UTF-8.

  英文 -1 字节;汉字-3个字节

  1、字符常量用单引号括起来。

  eg: var c1 byte='a'

  2、在Go中,字符的本质是一个整数,直接输出时,是该字符对应的UTF-8的码值

   

  

  3、字符类型可以进行运算,相当于一个整数

三、布尔类型使用细节

  1、bool类型占用1个字节

  2、只能取false  true,无法强转。即不能用0或非0整数替代false和true

四、字符串类型使用细节

  Go的字符串是由单个字节连接而来,而不是字符

  1、简单使用

  

  2、Go中字符串不可变:一旦赋值,不可修改

  3、字符串的两种表现形式:

  

  (1)双引号:会识别转义字符

  (2)反引号:以字符串的原生形式输出。

  4、字符串拼接  

  

五、各种类型变量的默认值

  

六、基本数据类型的相互转换

  Go在不能类型的变量之间赋值时需要显示转换。Golang中的数据类型不能自动转换

  

  注意:1、被转换的是变量存储的数据(即值),变量本身的数据类型并没有变化

  2、将大范围->小范围时,eg:int64->int8,编译不会报错,只是转换结果按溢出处理(截断),转换时需要考虑范围

  eg: var num1 int64 = 999999

     var num2 int8 = int8(num1)

   fmt.Println("num2=",num2)

   输出结果为63。原因:999999对应二进制:11110100001000111111,截取后八位转换为10进制为63

七:基本数据类型与string类型之间的转换 

1、基本数据类型转string

  方式一:fmt.Sprintf("%参数输出类型",表达式)  

  

  方式二:使用strconv包的函数:

  func FormatBool(b bool)string

    

  func FormatInt(i int,base int)string

    base int :转换为多少进制的值(2-32)

  

  func FormatFloat(f float64, fmt byte,prec ,bitSize int)string

  

2、string转基本数据类型

  注意事项:当字符串无法转换为基本数据类型的值时,将使接收变量的值置为默认值(bool型为false)

  func ParseInt(s string, base int, bitSize int) (i int64, err error)接收ParseInt转换后数据的类型必须为int64;bitSize值指的是string的值所属范围

  

  func ParseFloat(s string, bitSize int) (f float64, err error)

  接收ParseFloat转换后的数据的类型必须为float64。当 bitSize=32 时,结果仍然是 float64 类型,但它可以转换为 float32 而不会改变它的值

  

Go-变量篇的更多相关文章

  1. JavaScript知识架构学习路径(一)- 变量篇

    [摘要]本文是专为JavaScript入门者而总结的,总体上将JavaScript的基础部分分成了九大块,分别是变量.运算符.数组.流程控制结构.字符串函数.函数基础.DOM操作基础.文档对象模型DO ...

  2. 【shell编程基础1】shell变量篇

    Bash shell bash shell 是bourne shell 的升级版,“bourne again shell”.ubuntu的默认shell. 预备知识 1. "#!" ...

  3. 可遇不可求的Question之Mysql在不重启服务的情况下修改运行时变量篇

    比方说在一些实际生产环境中,想改个MYSQL的配置,但是又不想停止服务重起MYSQL,有什么办法呢?使用SET命令可以做到,请看下面几个例子: 1.设置key_buffer_size的大小为10M. ...

  4. 环境变量篇getenv putenv setenv

    getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include<stdlib.h> 定义函数 char * getenv(const ...

  5. Makefile之自动变量篇

    自动变量假设您编写一个编译‘.c’文件生成‘.o’文件的规则:您怎样编写命令‘CC’,使它能够操作正确的文件名?您当然不能将文件名直接写进命令中,因为每次使用隐含规则操作的文件名都不一样. 您应该使用 ...

  6. sass语法一(变量篇)

    文件后缀名 sass有两种后缀名的文件:一种后缀名为sass,不使用大括号和分号:另一种是我们这里使用的scss文件,这种和我们平时使用的css文件格式差不多,使用大括号和分号. //后缀名为sass ...

  7. PowerShell【变量篇】

    PS C:\Users\Administrator> $str='这是一个变量' PS C:\Users\Administrator> $str 这是一个变量 PS C:\Users\Ad ...

  8. python之变量篇

    列表:a=['a',112,'bss']元组:只读列表,不能二次赋值str=('s','t',1.5)元字典:用"{ }"标识,键值对存储dic={}dic['s']='test' ...

  9. [C++基础] 变量、关键字、运算符、位操作篇

    一.变量篇 1 全局变量和静态变量有什么异同? 相同:都在静态存储区分配空间,生命周期与程序生命周期相同. 区别:全局变量的作用域是整个程序,它只需要在一个源文件中定义,就可以作用于所有的源文件.而静 ...

  10. discuz全局数组变量 后台各项设置 完整版

    $_G 保存了 Discuz! 中所有的预处理数据 缓存能够很好的提高程序的性能,一些配置数据没必要每次都查询数据库,只要在修改了的时候更新下缓存即可. Discuz! 中所有的缓存保存在 $_G[c ...

随机推荐

  1. 在Mac搭建一个便捷的Markdown创作环境

    前言 使用 Typora + PicGo + Gitee + Snipaste 在 Mac 搭建一个 Markdown 编辑环境. Typora 是一款简洁的 Markdown 编辑器: PicGo ...

  2. C++的一些随笔(第一篇)

    C++中 ->的作用 ->用于指针 ->用于指向结构体的指针 ->用于指向结构体的指针,表示结构体内的元素  #include<stdio.h> struct ro ...

  3. 【Note】矩阵加速

    感谢 \(\text{tidongCrazy}\) 倾情授课. 目录 基本形式 基础习题 P1962 斐波那契数列(例题) P4838 P哥破解密码(矩阵加速) 稍微up P1397 [NOI2013 ...

  4. 近万字总结:Java8 Stream流式处理指南

    总结/朱季谦 在实际项目当中,若能熟练使用Java8 的Stream流特性进行开发,就比较容易写出简洁优雅的代码.目前市面上很多开源框架,如Mybatis- Plus.kafka Streams以及F ...

  5. facebook分享不能显示图片链接问题

    <meta property="og:url" content="http://www.nytimes.com/2015/02/19/arts/internatio ...

  6. 五天学会Deep Learning

    五天学完deep learning......是时候来证明chatGPT和new bing的能力了...... DAY1 Sigmoid function Sigmoid 函数是一种常用的激活函数,它 ...

  7. 解决ffmpeg源码不能编译ffplay问题

    虽然不是很大问题,还是记录一下,避免以后忘记!!! 总共两个原因影响了源码编译不能生成ffplay可执行文件,如下: 1.系统中没有安装SDL,直接去官网下载SDL源码编译安装http://www.l ...

  8. [人脸活体检测] 论文:Face Anti-Spoofing Using Patch and Depth-based CNNs

    Face Anti-Spoofing Using Patch and Depth-based CNNs 这篇文章是人脸防伪领域比较容易理解,适合入手的一篇,主要运用到了两个CNN网络,根据输入图像的细 ...

  9. 【解决办法】配置banner信息时卡死/无反应,以及正确配置

    环境: 工具:锐捷EVE模拟器 远程工具:SecureCRT 系统版本:Windows 10 问题描述 描述:在配置登录 banner 提示警告信息时,将 "^" 符号放到了警告信 ...

  10. 2020-08-23:描述HTTPS和HTTP的区别。

    福哥答案2020-08-23: 1.地址区别http:http://开头.https:https://开头. 2.默认端口区别http:端口80.https:端口443. 3.数据传输区别http:明 ...