Go語言二維數(shù)組的傳參方式
用Go語言實(shí)現(xiàn)動態(tài)規(guī)劃問題的時候在二維數(shù)組的傳參改變這個地方有了點(diǎn)疑惑,查了會兒資料,然后達(dá)到了目的(其實(shí)還是想知道切片的話可不可以二維),所以記錄一下
看代碼吧~
package main
import "fmt"
//n=7
func matrixChainOrder(p []int,m *[7][7]int,s *[7][7]int,n int){
for i:=0;i<n;i++{
m[i][i] = 0
}
for l:=2;l<n;l++{
for i:=1;i<n-l+1;i++{
j:=i+l-1
m[i][j] = 10000000
for k:=i;k<=j-1;k++{
q:=m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j]
if q<m[i][j]{
m[i][j] = q
s[i][j] = k
}
}
}
}
// fmt.Println(m[1][6])
}
func main(){
p:=[]int {30,35,15,5,10,20,15}
var m [7][7]int
var s [7][7]int
matrixChainOrder(p,&m,&s,7)
fmt.Println(m[1][6])
}
補(bǔ)充:go數(shù)組作為函數(shù)參數(shù)傳遞
看代碼吧~
func myfun(a *[]int) {
fmt.Print(a)
//a[0] = 5
(*a)[0] = 5
//fmt.Print("here", a, "\n")
}
func test() {
a1 := 1
b1 := 2
var a []*int = []*int{&a1, &b1}
fmt.Print(a)
}
func main() {
var a []int = []int{1, 2, 3, 4}
myfun(&a)
fmt.Print(a)
test()
}
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
在Golang中使用http.FileServer返回靜態(tài)文件的操作
這篇文章主要介紹了在Golang中使用http.FileServer返回靜態(tài)文件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-12-12
Go實(shí)現(xiàn)自己的網(wǎng)絡(luò)流量解析和行為檢測引擎原理
這篇文章主要為大家介紹了Go實(shí)現(xiàn)自己的網(wǎng)絡(luò)流量解析和行為檢測引擎原理,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
詳解Go語言如何使用xorm實(shí)現(xiàn)讀取mysql
xorm是go語言的常用orm之一,可以用來操作數(shù)據(jù)庫。本文就來和大家聊聊Go語言如何使用xorm實(shí)現(xiàn)讀取mysql功能,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-11-11
golang處理TIFF圖像的實(shí)現(xiàn)示例
本文介紹了在Go語言中處理TIFF圖像,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03

