个人博客
标识符
- 驼峰法,首字母大写可以在其他包里使用,首字母小写只能在本包内使用
- 跨包使用,的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 = 1 j = 2 )
-
另一种声明方法,开发中常用
-
import ( "fmt" "unsafe" )
-
导包也可以类似这样
- 不能改变变量的类型,例如开始赋值整数,后来又赋值浮点数。
- 默认值,数默认为0,字符串默认为空串
字符串类型
-
利用UTF-8编码,支持中文
-
go中字符串是常量,无法修改
-
引号
- 双引号"" :会识别转义字符
- 反引号``:不识别转义字符(防止SQL注入之类的?)
-
加号拼接,可以分行写(加号放行尾)
类型转换
-
go不会自动转换类型,需要显式转换文章来源:https://www.toymoban.com/news/detail-664634.html
-
var i int = 1 var j float32 = float32(i)
string和其他基本类型转换
其他类型转string
func main() {
var a int = 10
var b float32 = 3.14
var 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也是基本类型,传入&地址。文章来源地址https://www.toymoban.com/news/detail-664634.html
-
func main() { var str string _, _ = fmt.Scanln(str) fmt.Println(str) }
分支语句
- 基本和C语言一致
- switch 不用break;
- 可以匹配多个表达式,逻辑或的关系
- case,switch后面是一个表达式(不一定是常量)
- case和switch的数据类型必须一致
- case的常量(字面量)不能重复
- switch后面可以不带表达式,可以代替if else作分支选择
- fallthrough关键字可以穿透到下一分支,用来代偿省略break的功能
到了这里,关于Go学习-Day2的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!