做网站有哪些类型的,网站开发历史,网络搭建及应用,呼和浩特网站建设费用go - 学习笔记 -1 hello world变量值拷贝匿名变量语句分隔符整型浮点型布尔型字符串类型strings包的字符串函数 hello world
package mainimport fmtfunc main() {fmt.Println(hello world)
}变量
package mainimport fmtfunc… go - 学习笔记 -1 hello world变量值拷贝匿名变量语句分隔符整型浮点型布尔型字符串类型strings包的字符串函数 hello world
package mainimport fmtfunc main() {fmt.Println(hello world)
}变量
package mainimport fmtfunc main() {// 1先声明 在赋值// 声明变量 var 变量名 类型var age intfmt.Println(age) // 声明未复制有默认值age 22fmt.Println(age)// 2声明并赋值一行实现var name stringname linfmt.Println(name)//var newName string new linvar newName new linfmt.Println(newName)// 3声明并赋值的简洁写法name2 : lin2 // 全局变量不可以使用 : 的这种简洁语法必须用 var 去声明赋值fmt.Println(name2)// 4声明多个变量var (a int // 0b string // c bool // false)fmt.Println(a)fmt.Println(b)fmt.Println(c)// 5 一行声明赋值多个变量//var mingzi, nianling, hunfou lin, 33, falsemingzi, nianling, hunfou : lin, 33, falsefmt.Println(mingzi, nianling, hunfou)
}值拷贝
package mainimport fmtfunc main() {// 1 值拷贝var x 10var y xx 20fmt.Println(x)fmt.Println(y)// 2var a 1 1fmt.Println(a)var b x * yfmt.Println(b)
}匿名变量
package mainimport fmtfunc foo() (int, int) {return 100, 2
}func main() {//var a, _ 1,2var a, _ foo()fmt.Println(a)
}语句分隔符
package mainimport fmtfunc main() {// ;和换行符作为语句分隔符//var x 100; y 200// 推荐用换行符作为分割符,会有更好的阅读性var x 100var y 200fmt.Println(x, y)
}整型浮点型布尔型
package mainimport (fmtreflect
)func main() {// 1 整型/*int8 可存1一个字节 范围是-128至127int16 可存2个字节 范围是-32768至32767int32 可存4个字节 范围是-2147483648至2147483647int64 可存8个字节 范围是-9223372036854775808至9223372036854775807uint8 可存1个字节 范围是0至255uint16 可存2个字节 范围是0至65535uint32 可存4个字节 范围是0至4294967295uint64 可存8个字节 范围是0至18446744073709551615*/var x int8 100var y int16 200fmt.Println(x, y)// 2浮点型/*float32 可存4个字节 范围是-3.402823466e38至3.402823466e38float64 可存8个字节 范围是-1.7976931348623157e308至1.7976931348623157e308*/var f1 float32 3.14159267890123var f2 float64 3.14159267890123fmt.Println(f1, reflect.TypeOf(f1))fmt.Println(f2, reflect.TypeOf(f2))var f3 2e10fmt.Println(f3, reflect.TypeOf(f3))// 3布尔型var b1 bool truevar b2 bool falsefmt.Println(b1, reflect.TypeOf(b1))fmt.Println(b2, reflect.TypeOf(b2))c : 2 1fmt.Println(c, reflect.TypeOf(c))name : linc2 : name rootfmt.Println(c2, reflect.TypeOf(c2))fmt.Println(name, reflect.TypeOf(name))
}字符串类型
package mainimport fmtfunc main() {var s string // 默认为s hello yuan// 索引和切片 字符串 [索引] 字符串[start:end] go不支持负数索引fmt.Println(string((s[1])))fmt.Println(string((s[6])))fmt.Println(string((s[0:5])))fmt.Println(string((s[:5])))fmt.Println(string((s[6:10])))fmt.Println(string((s[6:])))// 字符串拼接var s1 hivar s2 yuanfmt.Println(s1 s2)// 转义符号 \反斜杠fmt.Println(string(1\n2\n3))var s3 D:\\next\\go.exefmt.Println(s3)fmt.Println(It is \main\.)// 多行打印fmt.Println(1. 红药)fmt.Println(2. 蓝药)fmt.Println(3. 武器)info : 1. 红药2. 蓝药3. 武器
fmt.Println(info)
}strings包的字符串函数
package mainimport (fmtstrings
)func main() {// 大小写转换var name Yuanvar newName strings.ToUpper(name)fmt.Println(name)fmt.Println(newName)fmt.Println(strings.ToLower(name))// 包含var s rain yuan alivinfmt.Println(strings.HasPrefix(s, rain)) // 以xx开头fmt.Println(strings.HasPrefix(s, in)) // 以xx结尾fmt.Println(strings.Contains(s, yuan)) // 是否包含xx// 去除空格username : yuan fmt.Println(strings.Trim(username, )) // 去除空格返回无空格的字符串fmt.Println(username yuan)fmt.Println(strings.TrimSpace(username)) // 去掉前后空格fmt.Println(strings.TrimLeft(username, )) // 去掉作弊的空格// index 索引var s2 rain yuan alvinfmt.Println(strings.Index(s2, yuan))fmt.Println(strings.Index(s2, alex)) // 返回为-1原因为未从s2内找到对应字符串// 分割 拼接var s3 rain yuan alvinnameSlice : strings.Split(s3, )fmt.Println(nameSlice)fmt.Println(nameSlice[0])fmt.Println(nameSlice[1])fmt.Println(nameSlice[2])var newStr strings.Join(nameSlice, ,)fmt.Println(newStr)}