var var_name *var_type
str :=
new(
string
)//列
var ip *
int
var a int=20
/* 宣告實際變數 */
var ip *
int/* 宣告指標變數 */
/* 使用指標訪問值 */
fmt.
printf
("*ip 變數的值: %d\n"
,*ip )
var ptr *
intvar ptr *
int;
fmt.
println
(ptr)
fmt.
printf
("ptr 的值為 : %x\n"
, ptr )
//輸出:
//輸出: ptr 的值為 : 0
package main
import
"fmt"
const max int=3
func
main()
var i int
var ptr [max]
*int
;for i =
0; i < max; i++
for i =
0; i < max; i++
}
package main
import
"fmt"
func
main()
//結果
/* 值 5
ptr指標指向位址對應的值 5
pts指標指向位址對應的值: 5
pto最終指向的位址對應的值(a) 5
pt3指向的指標(pto)所指向的指標的(ptr)位址 0xc00000e028
pt3指向的指標(pto)所指向的指標(ptr)所指向的位址(a): 0xc0000140d8
pt3最終指向的位址對應的值(a) 5
*/
指標是指向值的位址
指向指標的指標是指向指標的位址
package main
import
"fmt"
type book struct
func
main()
// 建立乙個新的結構體
func
createbook
() book
var book book
//成員設定
book.title =
"go"
// 忽略的字段為 0 或 空
return book
}
var slice1 [
]type
=make([
]type
,len
, capacity)
//len為切片的初始長度。
var slice2 =
int//slice2 後面不能跟型別中什麼都不寫
var slice3 = slice2[0:
2]//將slice2中從下標s0到1下的元素擷取出來建立為乙個新的切片,不設定分別預設0和最後乙個
len
(slice)
//獲取切片的長度
cap(slice)
//獲取切片的容量
slice =
(sliece, value)
//向切片中添追加值,可以新增切片
copy
(slice1,slice2)
//拷貝 slice2 的內容到 slices1
/* 宣告變數,預設 map 是 nil */
var map_variable map
[key_data_type]value_data_type
/* 使用 make 函式 */
map_variable :=
make
(map
[key_data_type]value_data_type)
package main
import
"fmt"
func
main()
fmt.
println
("原始地圖"
)/* 列印地圖 */
for country :=
range countrycapitalmap
/*刪除元素*/
delete
(countrycapitalmap,
"france"
) fmt.
println
("法國條目被刪除"
) fmt.
println
("刪除元素後地圖"
)/*列印地圖*/
for country :=
range countrycapitalmap
}
package main
import
("fmt"
"sync"
)func
main()
)bool
)}
var list_nam list.list//第一種定義方式
list_name := list.
new(
)//第二種定義方式
//均返回操作節點控制代碼
list.
insertafter
(v inte***ce
, mark * element)
//在 mark 點之後插入元素,mark 點由其他插入函式提供
list.
insertbefore
(v inte***ce
, mark * element)
//在 mark 點之前插入元素,mark 點由其他插入函式提供
list.
pushbacklist
(other *list)
//新增 other 列表元素到尾部
list.
pushfrontlist
(other *list)
//新增 other 列表元素到頭部
list.
remove
(element)
l := list.
new(
)// 尾部新增
l.pushback
("canon"
)// 頭部新增
l.pushfront(67
)for i := l.
front()
; i !=
nil; i = i.
next()
package main
import
"fmt"
type phone inte***ce
type nokiaphone struct
func
(nokiaphone nokiaphone)
call()
type iphone struct
func
(iphone iphone)
call()
func
main()
go
func_name
()
ch :=
make
(chan
int)
ch <- value
value <- ch
package main
import
"fmt"
func
sum(s [
]int
, c chan
int)
c <- sum // 把 sum 傳送到通道 c
}func
main()
c :=
make
(chan
int)
//建立通道
gosum
(s[:
len(s)/2
], c)
gosum
(s[len
(s)/2:
], c)
x, y :=
<-c,
<-c // 從通道 c 中接收
fmt.
println
(x, y, x+y)
}
通道緩衝區ch :=
make
(chan
int,
100)
注意:如果通道不帶緩衝,傳送方會阻塞直到接收方從通道中接收了值。如果通道帶緩衝,傳送方則會阻塞直到傳送的值被拷貝到緩衝區內;如果緩衝區已滿,則意味著需要等待直到某個接收方獲取到乙個值。接收方在有值可以接收之前會一直阻塞。 學習第二天
linux系統的檔案型別及許可權的相關知識 1.普通檔案 l 連線檔案 d 資料夾 表示不同的檔案型別 2.檔案許可權 r 可讀 w 可寫 x 可執行 3.chmod 修改檔案許可權,修符號或者使用八進位制 linux的基礎命令 cd 切換目錄 ls 檢視內容 表示當前目錄 上一級目錄等 touch...
第二天學習
快捷鍵 功能ctrl alt t 啟動終端 print 全屏截圖 ctrl alt a 截圖alt tab 切換視窗 shift alt tab 反向切換視窗 super d 顯示桌面 super e 檔案管理器 super l 屏鎖介面 super up 最大化視窗 super down 恢復視窗...
學習第二天
製表符和換行符 換行符 n 的作用是是來游標跳到下乙個新行,輸入完一行內容後游標下移一行 而製表符 t 的作用是 跳格 即到自下乙個 製表位置 在系統中乙個 製表區 佔8列,相當於4個或8個空格符。正斜槓和反斜槓 正斜槓 是斜率是正數的斜槓,反斜槓 是斜率為負數的斜槓 這個世界上就只有microso...