慕课网Go——1.go语言基础

news/2024/10/23 9:39:05/

3. 变量

3.1 定义变量

package mainimport "fmt"// 全局变量可以不使用
var flg boolfunc main() {//局部变量定义后必须使用,默认零值var name int = 1fmt.Println(name)age := 1fmt.Println(age)//多变量定义,可以不同类型var s1, s2 = "s1", 2//可以更改赋值,但不能换类型s1 = "s2"fmt.Println(s1, s2)var (s3 = "s3"s4 int = 4s5 bool)fmt.Println(s3, s4, s5)
}

3.2 常量

package mainimport "fmt"func main() {const PI float32 = 3.14const (x int = 16y//y默认为16s = "abc"z//z默认为abc)fmt.Println(x, y, s, z)
}

3.3 iota

package mainimport "fmt"func main() {//iota自增const (err1 = iotaerr2 = iotaerr3 = iota)fmt.Println(err1, err2, err3) //0 1 2const (e1 = iotae2e3 = 100e4e5 = iotae6)fmt.Println(e1, e2, e3, e4, e5, e6) //0 1 100 100 4 5
}

3.4 匿名变量

package mainimport "fmt"func a() (int, bool) {return 0, false
}func main() {var _ intr1, _ := a()fmt.Println(r1) //0
}

4. 数据类型

4.3 类型转换

package mainimport ("fmt""strconv"
)func main() {//str->intvar strint = "12"myint, err := strconv.Atoi(strint)if err != nil {fmt.Println("convert error")}fmt.Println(myint)fmt.Println(strconv.Atoi(strint)) //12 <nil>//int->strvar intstr = 32fmt.Println(strconv.Itoa(intstr)) //32//str->float64myfloat, err := strconv.ParseFloat("3.14", 64)if err != nil {fmt.Println("convert error")}fmt.Println(myfloat) //-3.14//str->int(10进制)myint2, err := strconv.ParseInt("-42", 10, 64)if err != nil {fmt.Println("convert error")}fmt.Println(myint2) //-42//str->bool,0或"false"为false,1或"true"为true,其他数值报错mybool, err := strconv.ParseBool("0")if err != nil {fmt.Println("convert error")}fmt.Println(mybool) //falseboolstr := strconv.FormatBool(true)fmt.Println(boolstr) //truefloatstr := strconv.FormatFloat(3.1415, 'E', -1, 64)fmt.Println(floatstr) //3.1415E+00fmt.Println(strconv.FormatInt(-42, 16))//-2a
}

5. 字符串操作

5.4 输出

package mainimport ("fmt""strings"
)func main() {name := "neo"msg := fmt.Sprintf("用户:%s", name)fmt.Println(msg)var builder strings.Builderbuilder.WriteString("你好")builder.WriteString(name)re := builder.String()fmt.Println(re)
}

5.6 字符串函数

package mainimport ("fmt""strings"
)func main() {name := ",.hello,go."fmt.Println(strings.Contains(name, "go"))fmt.Println(strings.HasPrefix(name, "hello"))fmt.Println(strings.HasSuffix(name, "go"))fmt.Println(strings.Count(name, "o"))fmt.Println(strings.Index(name, "he"))fmt.Println(strings.Split(name, ","))fmt.Println(strings.Trim(name, ",."))//只剪除两边fmt.Println(strings.Replace(name, "go", "java", 2))
}

6. 条件控制

package mainimport "fmt"func main() {for i := 0; i < 3; i++ {fmt.Println(i)}name := "immocgo"for index, value := range name {fmt.Println(index, value)}age := 16if age < 18 {fmt.Println("child")} else if age == 18 {fmt.Println("18")} else {fmt.Println("adult")}switch age {case 18:fmt.Println("18")case 17, 16:fmt.Println("17,16")default:fmt.Println("default")}switch {case age == 18:fmt.Println("18")case age < 18:fmt.Println("child")default:fmt.Println("default")}
}

http://www.ppmy.cn/news/982069.html

相关文章

RL 实践(5)—— 二维滚球环境【REINFORCE Actor-Critic】

本文介绍如何用 REINFORCE 和 Actor-Critic 这两个策略梯度方法解二维滚球问题参考&#xff1a;《动手学强化学习》完整代码下载&#xff1a;6_[Gym Custom] RollingBall (REINFORCE and Actor-Critic) 文章目录 1. 二维滚球环境2. 策略梯度方法2.1 策略学习目标2.2 策略梯度定…

IIS部署安装.NET CORE6.0应用程序,成功解决http error 503.the service is unavailable错误

一、下载安装.NET CORE 运行环境包 网址&#xff1a;Download .NET Core 3.1 (Linux, macOS, and Windows).NET Core 3.1 downloads for Linux, macOS, and Windows. .NET is a free, cross-platform, open-source developer platform for building many different types of ap…

13.Netty源码之Netty中的类与API

highlight: arduino-light ServerBootstrap Bootstrap 意思是引导&#xff0c;一个 Netty 应用通常由一个 Bootstrap 开始&#xff0c;主要作用是配置整个 Netty 程序&#xff0c;串联各个组件&#xff0c;Netty 中ServerBootstrap 是服务端启动引导类。 java //泛型 AbstractB…

vue指令-v-on事件对象

vue指令-v-on事件对象 1、目的2、语法 1、目的 vue事件处理函数中&#xff0c;拿到事件对象 2、语法 无传参数&#xff0c;通过形参直接接收 <template><div id"app"><a click"one" href"http://www.baidu.com">百度</…

IDEA插件YapiUpload配置YApi

前后端分离开发项目&#xff0c;后端提供接口文档&#xff0c;这次使用的是YApi&#xff0c;不想一个个接口添加&#xff0c;所以用插件批量导入。 YApi 是高效、易用、功能强大的 api 管理平台&#xff0c;旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发…

利用Stable diffusion Ai 制作艺术二维码超详细参数和教程

大家有没有发现最近这段时间网上出现了各种各样的AI艺术二维码&#xff0c;这种二维码的出现&#xff0c;简直是对二维码的“颠覆式创新”&#xff0c;直接把传统的二维码提升了一个维度&#xff01;作为设计师的我们怎么可以不会呢&#xff1f; 今天就教大家怎么制作这种超有艺…

sd卡为什么突然要格式化?sd卡显示格式化怎么恢复数据

SD卡作为我们日常生活中的常用品&#xff0c;无论是相机、手机还是平板&#xff0c;都能看到它的身影。但是&#xff0c;当你将SD卡插入相机后却被告知需要格式化&#xff0c;或者将SD卡连接到电脑的时候显示需要格式化&#xff0c;这时候你应该怎么处理呢&#xff1f;SD卡显示…

快速玩转 Llama2!阿里云机器学习 PAI 推出最佳实践(二)——全参数微调训练

本实践将采用阿里云机器学习平台PAI-DSW模块针对 Llama-2-7B-Chat 进行全参数微调。PAI-DSW是交互式建模平台&#xff0c;该实践适合需要定制化微调模型&#xff0c;并追求模型调优效果的开发者。 前言 近期&#xff0c;Meta 宣布大语言模型 Llama2 开源&#xff0c;包含7B、…