Go学习-Day2

文章目录

    • 标识符
    • 变量基础语法
    • 字符串类型
    • 类型转换
    • string和其他基本类型转换
      • 其他类型转string
      • string转其他类型
    • 指针类型
    • 运算符
    • 标准IO
    • 分支语句

个人博客

标识符

  • 驼峰法,首字母大写可以在其他包里使用,首字母小写只能在本包内使用
  • 跨包使用,的import地址从src的子目录开始,src以及src所在的GOPATH自动补全

变量基础语法

  • 定义变量

  • var i int = 10
    
  • var关键字+变量名+变量类型

  • var i = 10
    
  • 自动推断类型

  • i := 10
    
  • 简略写法


  • 对应的,可以声明多个变量

  • var a, b, c int = 1, "a", 2
    
  • var a, str1, b = 1, "a", 2
    
  • a, str1, b := 1, "a", 2
    

  • var (i = 1j = 2
    )
    
  • 另一种声明方法,开发中常用

  • import ("fmt""unsafe"
    )
    
  • 导包也可以类似这样


  • 不能改变变量的类型,例如开始赋值整数,后来又赋值浮点数。
  • 默认值,数默认为0,字符串默认为空串

字符串类型

  • 利用UTF-8编码,支持中文

  • go中字符串是常量,无法修改

  • 引号

    • 双引号"" :会识别转义字符
    • 反引号``:不识别转义字符(防止SQL注入之类的?)
  • 加号拼接,可以分行写(加号放行尾)

类型转换

  • go不会自动转换类型,需要显式转换

  • var i int = 1
    var j float32 = float32(i)
    

string和其他基本类型转换

其他类型转string

func main() {var a int = 10var b float32 = 3.14var s string = fmt.Sprintf("%d %.2f", a, b)fmt.Println(s)
}

string转其他类型

b, err := strconv.ParseBool("true")
f, err := strconv.ParseFloat("3.1415", 64)//返回64位要 强转
i, err := strconv.ParseInt("-42", 10, 64)//进制 和 位数
u, err := strconv.ParseUint("42", 10, 64)
  • 返回值有两个
  • 可以使用_代替err,下划线是特殊的变量,表示忽略返回值。
  • 如果无法转换则返回0
  • 学英语:parse是分析的意思,strconv = string-conversion

指针类型

  • 和C语言类似,不赘述。

运算符

  • 没有三元运算符,只能用if else,if后面没有小括号
  • 运算与C语言一致
  • 自增自减只能单独使用,不能在自增自减的同时给变量赋值
  • 自增自减的++和–都必须放在变量的后边!

标准IO

  • string也是基本类型,传入&地址。

  • func main() {var str string_, _ = fmt.Scanln(str)fmt.Println(str)
    }
    

分支语句

  • 基本和C语言一致
  • switch 不用break;
  • 可以匹配多个表达式,逻辑或的关系
  • case,switch后面是一个表达式(不一定是常量)
  • case和switch的数据类型必须一致
  • case的常量(字面量)不能重复
  • switch后面可以不带表达式,可以代替if else作分支选择
  • fallthrough关键字可以穿透到下一分支,用来代偿省略break的功能

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

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

相关文章

基于JAVA SpringBoot和UniAPP的宠物服务预约小程序

随着社会的发展和人们生活水平的提高,特别是近年来,宠物快速进入人们的家中,成为人们生活中重要的娱乐内容之一,过去宠物只是贵族的娱乐,至今宠物在中国作为一种生活方式得到了广泛的认可,随着人们精神文明…

前端面试的性能优化部分(12)每天10个小知识点

目录 系列文章目录前端面试的性能优化部分(1)每天10个小知识点前端面试的性能优化部分(2)每天10个小知识点前端面试的性能优化部分(3)每天10个小知识点前端面试的性能优化部分(4)每天…

Docker拉取并配置Grafana

Linux下安装Docker请参考:Linux安装Docker 安装准备 新建挂载目录 /opt/grafana/data目录,准备用来挂载放置grafana的数据 /opt/grafana/plugins目录,准备用来放置grafana的插件 /opt/grafana/config目录,准备用来挂载放置graf…

正则表达式一小时学完

闯关式学习Regex 正则表达式,我感觉挺不错的,记录一下。 遇到不会的题,可以评论交流。 真的很不错 链接 Regex Learn - Step by step, from zero to advanced.

HTTP原理与实现

一、基本概念 一、基本原理* 1、全称: HyperText Transfer Protocol (超文本传输协议) 2、底层实现协议:建立在 TCP/IP 上的无状态连接。 3、基本作用:用于客户端与服务器之间的通信,规定客户端和服务器之间的通信格式。包括请…

长胜证券:货币政策什么意思?

钱银政策是指国家钱银当局经过调控钱银供给量和利率等手法,以到达操控通货膨胀、坚持经济稳定、促进经济增长等目的的一种宏观经济政策。简而言之,钱银政策便是国家中央银行对钱银供给和利率进行调控的政策。那么具体来说,钱银政策到底有哪些…

自动化部署及监测平台基本架构

声明 本文是学习 政务计算机终端核心配置规范. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 核心配置自动化部署及监测技术要求 自动化部署及监测平台基本架构 对于有一定规模的政务终端核心配置应用,需要配备自动化部署及监测平台&am…

C++编程中的六种内存顺序模型

文章目录 前言为什么要设计内存顺序模型常见的内存顺序模型总结 前言 程序员真是一个活到老学到老的职业,一天不学习就会掉队,『内存顺序模型』对于我来说就是一个新的世界,虽然之前写过多线程的服务器,也处理过死锁和竞态条件等…

linux笔记

1、向某个api地址发送get请求 curl -s -x get http://192.168.0.1:8080/api/vi/groups 2、查看内存消耗最多的前10个进程 ps auxw|head -1;ps auxw|sort -rn -k4|head -10 3、查看系统资源占用情况 top命令,运行之后按c键,可以显示出完整的程序名称 …

Spring Boot简介

文章目录 一、引言1.1 初始化配置1.2 整合第三方框架1.3 后期维护1.4 部署工程1.5 敏捷式开发 二、SpringBoot介绍三、SpringBoot快速入门【重点】3.1 快速构建SpringBoot3.1.1 选择构建项目的类型3.1.2 项目的描述3.1.3 指定SpringBoot版本和需要的依赖3.1.4 导入依赖3.1.5 编…

RabbitMQ死信队列

RabbitMQ死信队列 1、过期时间TTL 过期时间TTL表示可以对消息设置预期的时间,在这个时间内都可以被消费者接收获取;过了之后消息将自动被 删除。RabbitMQ可以对消息和队列设置TTL,目前有两种方法可以设置: 第一种方法是通过队列…

Oracle修改字符集为SIMPLIFIED CHINESE_CHINA.ZHS16GBK

查询字符集 select userenv(language) from dual;修改前字符集为:SIMPLIFIED CHINESE_CHINA.AL32UTF8 SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount; ORACLE instance started. Total …

【C语言】文件操作 -- 详解

一、什么是文件 磁盘上的文件是文件。 1、为什么要使用文件 举个例子,当我们想实现一个 “通讯录” 程序时,在通讯录中新建联系人、删除联系人等一系列操作,此时的数据存储于内存中,程序退出后所有数据都会随之消失。为了让通讯录…

R语言04-R语言中的列表

概念 在R语言中,列表(List)是一种复杂的数据结构,用于存储不同类型的元素,包括向量、矩阵、数据框、函数等。列表是一种非常灵活的数据结构,可以将不同类型的数据组合在一起,类似于Python中的字…

第60步 深度学习图像识别:误判病例分析(Pytorch)

基于WIN10的64位系统演示 一、写在前面 上期内容基于Tensorflow环境做了误判病例分析(传送门),考虑到不少模型在Tensorflow环境没有迁移学习的预训练模型,因此有必要在Pytorch环境也搞搞误判病例分析。 本期以SqueezeNet模型为…

窗口看门狗

从下往上看: 1. 时钟设置 RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);//使能独立看门狗时钟 WWDG_SetPrescaler(WWDG_Prescaler_8);//看门狗预分频器WWDG counter clock (PCLK1/4096)/8 2.设置窗口值 实际就是设置WWDG_CR的低七位值, 但是这个值要大于0x40(也就是…

【分享】小型园区组网场景

小型园区组网图 在小型园区中,S2700&S3700通常部署在网络的接入层,S5700&S6700通常部署在网络的核心,出口路由器一般选用AR系列路由器。 接入交换机与核心交换机通过Eth-Trunk组网保证可靠性。 每个部门业务划分到一个VLAN中&#…

【Go 基础篇】Go语言分支结构:掌握 if 和 switch,灵活控制程序逻辑

介绍 在编程中,分支结构是一种重要的控制流程,它允许程序根据不同的条件选择不同的执行路径。Go语言提供了两种主要的分支结构:if 和 switch,用于在程序中实现条件判断和多重选择。本篇博客将深入探讨Go语言中的if和switch分支结…

Vulnhub: DriftingBlues: 2靶机

kali:192.168.111.111 靶机:192.168.111.207 信息收集 端口扫描 nmap -A -sC -v -sV -T5 -p- --scripthttp-enum 192.168.111.207 80端口的/blog目录为wordpress wpscan收集wordpress用户和爆破密码 wpscan --url http://driftingblues.box/blog -e…

SpringBoot-yml配置文件的使用与优势

目录 一、什么是yml配置文件? 二、如何在SpringBoot中使用yml配置文件? 三、如何在SpringBoot中注入yml配置文件的属性? Value注解 ConfigurationProperties注解 四、yml配置文件与properties配置文件的区别和优势 区别 优势 五、总结…