go語言基礎
package main
import "fmt"
func main() {
var a int = 10
var b = 20
/// 這種新式聲明對象的時候 C 必須為未聲明的對象
c := 30
/// 打印
fmt.Println("a =",a,"b =",b,"c =",c)
const num = 100
const num1,num2 = 10,20
fmt.Println(num,num1,num2)
/// iota 表示從0開始,自動加一 聲明常量
const(
Kevin = iota + 10
Kevin1
Kevin2
)
fmt.Println(Kevin,Kevin1,Kevin2)
var nums = max(10,20)
/// 打印
fmt.Println(nums)
return_name("kevin")
var array = []int{10,20,30}
/// &取地址
fmt.Println(array,&array[1])
/// 動態數組(切片)
fmt.Println("切片 = ",array[:2])
fmt.Println("切片 = ",array[:])
rangeFunc()
mapFunc()
}
/* 函數返回兩個數的最大值 */
func max(num1, num2 int) int {
/* 定義局部變量 */
var result int
if (num1 > num2) {
result = num1
} else {
result = num2
}
return result
}
/// 函數傳參
func return_name(kevin string) {
fmt.Println("welcome",kevin)
}
/// Range的使用
func rangeFunc() {
nums := []int{0,22,33,55,66,88}
// for index,num := range nums {
//// 打印索引值和Value
// fmt.Println(index,"=",num)
// }
for num := range nums {
// 打印索引
fmt.Println(num)
}
}
/// map 集合
func mapFunc() {
// var dict map[string]string
dict := make(map[string]string)
dict["kevin"] = "張廣義"
dict["Alice"] = "馮殊榮"
dict["Tom"] = "貓"
dict["Jerry"] = "老鼠"
for name := range dict {
fmt.Println(name,"=",dict[name])
}
flagK,flagV := dict["kevin"]
if (flagV) {
fmt.Println(flagK,flagV)
}else {
fmt.Println("No Jack")
}
}
go 語言接口
Go 語言提供了另外一種數據類型即接口,它把所有的具有共性的方法定義在一起,任何其他類型只要實現了這些方法就是實現了這個接口。
/// go語言接口定義
/* 定義接口 */
type interface_name interface {
method_name1 [return_type]
method_name2 [return_type]
method_name3 [return_type]
...
method_namen [return_type]
}
/* 定義結構體 */
type struct_name struct {
/* variables */
}
/* 實現接口方法 */
func (struct_name_variable struct_name) method_name1() [return_type] {
/* 方法實現 */
}
...
func (struct_name_variable struct_name) method_namen() [return_type] {
/* 方法實現*/
}
package main
import "fmt"
/// 定義接口
type Kevins interface {
calls()
}
/// 定義結構體
type Toms struct {
}
/// 實現接口方法
func (toms Toms) calls(){
fmt.Println("實現接口方法")
}
func main() {
var name Kevins
name = new(Toms)
name.calls()
}