go - 学习笔记 -1 hello world 变量 值拷贝 匿名变量 语句分隔符 整型&浮点型&布尔型 字符串类型 strings包的字符串函数
hello world
package mainimport "fmt" func main ( ) { fmt. Println ( "hello world" )
}
变量
package mainimport "fmt" func main ( ) { var age int fmt. Println ( age) age = 22 fmt. Println ( age) var name string name = "lin" fmt. Println ( name) var newName = "new lin" fmt. Println ( newName) name2 := "lin2" fmt. Println ( name2) var ( a int b string c bool ) fmt. Println ( a) fmt. Println ( b) fmt. Println ( c) mingzi, nianling, hunfou := "lin" , 33 , false fmt. Println ( mingzi, nianling, hunfou)
}
值拷贝
package mainimport "fmt" func main ( ) { var x = 10 var y = xx = 20 fmt. Println ( x) fmt. Println ( y) var a = 1 + 1 fmt. Println ( a) var b = x * yfmt. Println ( b)
}
匿名变量
package mainimport "fmt" func foo ( ) ( int , int ) { return 100 , 2
} func main ( ) { var a, _ = foo ( ) fmt. Println ( a)
}
语句分隔符
package mainimport "fmt" func main ( ) { var x = 100 var y = 200 fmt. Println ( x, y)
}
整型&浮点型&布尔型
package mainimport ( "fmt" "reflect"
) func main ( ) { var x int8 = 100 var y int16 = 200 fmt. Println ( x, y) var f1 float32 = 3.14159267890123 var f2 float64 = 3.14159267890123 fmt. Println ( f1, reflect. TypeOf ( f1) ) fmt. Println ( f2, reflect. TypeOf ( f2) ) var f3 = 2e10 fmt. Println ( f3, reflect. TypeOf ( f3) ) var b1 bool = true var b2 bool = false fmt. Println ( b1, reflect. TypeOf ( b1) ) fmt. Println ( b2, reflect. TypeOf ( b2) ) c := 2 > 1 fmt. Println ( c, reflect. TypeOf ( c) ) name := "lin" c2 := name == "root" fmt. Println ( c2, reflect. TypeOf ( c2) ) fmt. Println ( name, reflect. TypeOf ( name) )
}
字符串类型
package mainimport "fmt" func main ( ) { var s string s = "hello yuan" 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 = "hi" var s2 = " yuan" fmt. Println ( s1 + s2) fmt. Println ( string ( "1\n2\n3" ) ) var s3 = "D:\\next\\go.exe" fmt. 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 ( "fmt" "strings"
) func main ( ) { var name = "Yuan" var newName = strings. ToUpper ( name) fmt. Println ( name) fmt. Println ( newName) fmt. Println ( strings. ToLower ( name) ) var s = "rain yuan alivin" fmt. Println ( strings. HasPrefix ( s, "rain" ) ) fmt. Println ( strings. HasPrefix ( s, "in" ) ) fmt. Println ( strings. Contains ( s, "yuan" ) ) username := " yuan " fmt. Println ( strings. Trim ( username, " " ) ) fmt. Println ( username == "yuan" ) fmt. Println ( strings. TrimSpace ( username) ) fmt. Println ( strings. TrimLeft ( username, " " ) ) var s2 = "rain yuan alvin" fmt. Println ( strings. Index ( s2, "yuan" ) ) fmt. Println ( strings. Index ( s2, "alex" ) ) var s3 = "rain yuan alvin" nameSlice := 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) }